6

我需要在小数点之前的整数部分用前导零格式化一个实数。我知道如何用整数来实现这一点,但实数的语法让我无法理解。

Number  := 1.234 ;
SNumber := Format ('%2.3f', [Number]) ;

这给了SNumber = ' 1.234'但我想要'01.234'Number始终为 0..99.999

4

2 回答 2

11

使用SysUtils.FormatFloat

SNumber := FormatFloat('0#.###',Number); 

会得到01.234

六个占位符和前导零表示添加前导零。

于 2016-10-25T22:41:16.327 回答
6

您想要的字符串的宽度是 6 而不是 2。此外,您想用 '0' 替换填充的空格。

SNumber := StringReplace(Format('%6.3f', [Number]), ' ', '0', [rfReplaceAll]) ;
于 2016-10-25T21:56:35.110 回答