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]) ;
Другие вопросы по тегам