如何格式化 MinExtended80Denormal?
How to format MinExtended80Denormal?
单位System.Math
定义常数
MinExtended80Denormal
我可以使用给定的 rtl 函数将此数字转换为字符串吗?
我试过了
FormatFloat('#.##############E+####', System.math.MinExtended80Denormal)
这导致
000000000000000E+00000
我也尝试了更大的非规范化值,但内置格式化函数似乎不支持此类值(其中指数为零)。
使用系统内置的打印功能可以正常工作:
uses
Math;
var
s:String;
begin
Str(MinExtended80Denormal,s);
WriteLn(s);
WriteLn(MinExtended80Denormal);
Str(MinExtended80Denormal:26:-1,s);
WriteLn(s);
WriteLn(MinExtended80Denormal:26:-1);
end.
输出:
3.64519953188247E-4951
3.64519953188247E-4951
3.64519953188247460E-4951
3.64519953188247460E-4951
常数MinExtended80Denormal定义为:3.64519953188247460253e-4951
所以最好的结果给出除最后三位小数以外的所有数字。
我也试过 WriteLn(MinExtended80Denormal.ToString)
,但结果是 0
。
单位System.Math
定义常数
MinExtended80Denormal
我可以使用给定的 rtl 函数将此数字转换为字符串吗?
我试过了
FormatFloat('#.##############E+####', System.math.MinExtended80Denormal)
这导致
000000000000000E+00000
我也尝试了更大的非规范化值,但内置格式化函数似乎不支持此类值(其中指数为零)。
使用系统内置的打印功能可以正常工作:
uses
Math;
var
s:String;
begin
Str(MinExtended80Denormal,s);
WriteLn(s);
WriteLn(MinExtended80Denormal);
Str(MinExtended80Denormal:26:-1,s);
WriteLn(s);
WriteLn(MinExtended80Denormal:26:-1);
end.
输出:
3.64519953188247E-4951
3.64519953188247E-4951
3.64519953188247460E-4951
3.64519953188247460E-4951
常数MinExtended80Denormal定义为:3.64519953188247460253e-4951 所以最好的结果给出除最后三位小数以外的所有数字。
我也试过 WriteLn(MinExtended80Denormal.ToString)
,但结果是 0
。