Delphi中如何将大数格式化成字符串显示

Delphi中如何将大数格式化成字符串显示,delphi,number-formatting,Delphi,Number Formatting,我有一个双输入的大数字,比如1111110000000000000.000。如何将其格式化为字符串以在Delphi中显示 我尝试了FloatToStr和FormatFloat,但我收到的科学符号不是我想要的。使用转换工作: var d: Double; s: String; begin d := 1111111111111110000000000000.000; Str(d:0:3,s); WriteLn(s); end; 产出:1111111109950000000000

我有一个双输入的大数字,比如
1111110000000000000.000。
如何将其格式化为字符串以在Delphi中显示

我尝试了
FloatToStr
FormatFloat
,但我收到的科学符号不是我想要的。

使用转换工作:

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

注意:双精度精度不能精确保存您试图输入的数字


通常在这种情况下,您不会显示所有数字,因为这会给人一种他们都是准确的印象。这就是为什么喜欢使用科学符号。

可能重复@IgnazioC我不这么认为,它完全不同,我正在尝试格式化一个大数字。您已经检查过了吗?使用科学或工程符号。“没有人想计算所有这些数字。@DavidHeffernan很遗憾,我需要以字符串格式显示整个数字,那么使用f或n说明符的格式呢?”?当abs值变大时,它们是否恢复为科学形式?@DavidHeffernan,带有f、g或n说明符的格式自动更改为指数表示,而不管是否使用精度说明符。谢谢。希望医生能告诉我这一点会不会太过分?唉,谢谢你,这对我帮助很大