Como você já deve saber, Truncar um número significa "cortá-lo" em uma determinada posição, seja somente para pegar a parte inteira, ou também na parte fracionada. Veja nesta dica como truncar um valor real em sua parte fracionada, com um determinado número de casas decimais.
O número 8,9547, se Arredondado para 3 casas decimais, seria 8,955. Se truncarmos
o mesmo número em 3 casas decimais, o resultado será 8,954.
function TruncVal(Value: Double; Casas: Integer): Double;
var
sPot: String;
iPot: Integer;
x: Integer;
begin
sPot := '1';
for x := 1 to Casas do
sPot := sPot + '0';
iPot := StrToInt(sPot);
Result := StrToInt(IntToStr(Trunc(Value * iPot))) / iPot;
end;
Para usar a função, adicione duas Edits e um Button. Informe
o número fracionado
na primeira Edit, e no onClick do button faça:
var
valor, resultado: real;
begin
valor := StrToFloat(Edit1.Text);
resultado := TruncVal(valor, 3);
Edit2.Text := FloatToStr(resultado);
end;
Abraços!
|