Delphi - как вы форматируете реальное число с ведущими нулями?
Мне нужно отформатировать действительное число с ведущими нулями в целой части числа до десятичной точки. Я знаю, как добиться этого с помощью целых чисел, но синтаксис для вещественных чисел ускользает от меня.
Number := 1.234 ;
SNumber := Format ('%2.3f', [Number]) ;
Это дает SNumber = ' 1.234'
но я хочу '01.234'
, Number
всегда 0..99,999
2 ответа
Решение
Использование SysUtils.FormatFloat:
SNumber := FormatFloat('0#.###',Number);
получите 01.234
Шесть заполнителей и ведущий ноль означают добавление лидирующих нулей.
Ширина нужной строки - 6, а не 2. Кроме того, вы хотите заменить заполненные пробелы на '0'.
SNumber := StringReplace(Format('%6.3f', [Number]), ' ', '0', [rfReplaceAll]) ;