如何将大数字格式化为字符串以在 Delphi 中显示

How to format a big number into string for display in Delphi

我有一个 double 类型的大数字,比如 1111111111111110000000000000.000. 如何将其格式化为字符串以便在 Delphi 中显示?

我已经尝试了 FloatToStrFormatFloat,但我收到的科学记数法不是我想要的。

使用 System.Str 转换有效:

var
  d: Double;
  s: String;
begin
  d := 1111111111111110000000000000.000;
  Str(d:0:3,s);
  WriteLn(s);
end;

输出:1111111111111109950000000000.000

注意:双精度精度无法准确保存您尝试输入的数字。

通常在这种情况下,您不会显示所有数字,因为这会给人一种他们都是准确的印象。这就是首选科学记数法的原因。