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说明符的格式自动更改为指数表示,而不管是否使用精度说明符。谢谢。希望医生能告诉我这一点会不会太过分?唉,谢谢你,这对我帮助很大