procedure TForm2.btnCalculate(Sender: TObject);
var
r:real;
i:integer;
begin
r:=12.3054; //if r:=12.3059, it should return 12.306
r:=r*1000;
r:=round(r);
i:=trunc(r);
r:=i/1000;
end;
function RMRound(x: Extended; dicNum: Integer): Extended; //四舍五入
var
tmp: string;
i: Integer;
begin
tmp := '#.';
for i := 1 to dicNum do
tmp := tmp + '0';
Result := StrToFloat(FormatFloat(tmp, x));
end;