Hello,
Using Delphi 10.4.2 I get different rounded values using below code. Purpose is to round up and have 13.98 for both.
uses
System.Math;
procedure TForm1.Button1Click(Sender: TObject);
var
ToBeRounded: Double;
Rounded: Double;
begin
ToBeRounded := 55.9 * 0.25;
Rounded := SimpleRoundTo(ToBeRounded, -2);
ShowMessage(ToBeRounded.ToString() + ' ' + Rounded.ToString()); // ToBeRounded is 13.975 and Rounded is 13.97 at this point
Rounded := SimpleRoundTo(13.975, -2);
ShowMessage(Rounded.ToString); // Rounded is 13.98 at this point
end;
If one reads help file it has following table for expected results
I do not have deep floating point knowledge. I basically know they have a lot more digits than displayed.
My question is, how can I always get 13.98 as result using multiplications and such.
Thanks & Regards,
Ertan