格式('%7.8f',[varFloat])仅格式化小数

时间:2013-11-27 16:02:48

标签: delphi string-formatting

格式('%7.8f',[varFloat])仅格式化小数。

例如,13,98变为13,98000000。 我必须使用的是: 00000013,98000000

我知道这是一个枯燥的问题,但我的时间不够,我找不到为什么不能按照我的意愿工作。

1 个答案:

答案 0 :(得分:1)

如果您准备进入系统C运行时,可以使用sprintf。例如:

{$APPTYPE CONSOLE}

function sprintf(buf: Pointer; format: PAnsiChar): Integer; cdecl; 
  varargs; external 'msvcrt.dll';

var
  buf: array [0..255] of AnsiChar;
  val: Double;

begin
  val := 13.98;
  sprintf(@buf, '%015.8f', val);
  Writeln(buf);
  Readln;
end.

输出:

000013.98000000

您可能会考虑选择一种可以防止缓冲区溢出的变体。

FormatFloat会更容易。