Delphi provides standard commands to round and truncate decimal numbers. For Example:
Round(12.75) = 13
Trunc(12.75) = 12
Int(12.75) = 12
Frac(12.75) = 0.75
What about if we want to use a specific number of decimal digits? For example, we want to use 2 decimal digits and 1,2345 to be rounded to 1,24 or 3 decimal digits and have as result 1,235.
Find below the nkRound commands to implement this:
Function nkRound(x: Real; DecimalDigits: Integer): Real;
var
i, f: integer;
r: Real;
begin
f:=1;
for i:=1 to DecimalDigits do
f:=f*10;
r:=x*f;
r:=Round(r);
r:=r/f;
Result:=r;
end;