如何在Delphi上正确格式化浮点数的字符串?

时间:2014-07-03 19:44:53

标签: string delphi floating-point format

我需要调用Format函数来返回以下字符串:

1.0 -> "1 or 1.0"
1.01 - > "1.01"
1.001 - > "1.001"
1.0000001 -> "1.0000001"

有可能吗?标准格式字符串%0:f仅在该点后返回两位数(例如,"1.01")。

1 个答案:

答案 0 :(得分:6)

使用%g general format string

{$APPTYPE CONSOLE}

uses
  System.SysUtils;

begin
  Writeln(Format('%g', [1.0]));
  Writeln(Format('%g', [1.01]));
  Writeln(Format('%g', [1.001]));
  Writeln(Format('%g', [1.0000001]));
end.

<强>输出

1
1.01
1.001
1.0000001