Описание
Функция преобразовывает число с плавающей запятой Value в его строковое представление, используя заданный формат. Параметр Precision определяет количество знаков в результирующем значении, которое должно находиться в следующих пределах:
Тип
Precision
Тип
Precision
Тип
Precision
Single
<= 7
Double
<= 15
Extended
<= 18
Назначение параметра Digits зависит от специфики выбранного формата (См. ниже). Параметр Format определяет формат результирующей строки. Возможны следующие значения параметра Format:
Величина
Значение
ffGeneral
Общий числовой формат. Число преобразовывается в наиболее возможно короткую десятичную строку, используя фиксированный (ffFixed) или научный формат (ffExponent). Нули в конце числа удаляются. Десятичная точка ставится только в случае необходимости. Фиксированный формат применяется, когда в значении Value количество цифр, стоящих слева от десятичной точки, меньше либо равно Precision или, когда Value>=0.00001. В противном случае, применяется научный формат, а параметр Digits определяет минимальное число цифр в экспоненте (0.. 4).
ffExponent
Научный формат. Число преобразуется в строку формата "-x.xxx…E+xxxx". Строка начинается со знака "-" (если число отрицательное). Десятичной точке всегда предшествует одна цифра. Параметр Precision определяет общее количество десятичных цифр, стоящих до символа экспоненты "E" (включая цифру слева от десятичного разделителя). За символом экспоненты следует знак плюс или минус и до 4 цифр, определяющих степень экспоненты. Минимальное число цифр в экспоненте указывается в параметре Digits.
ffFixed
Фиксированный формат. Значение преобразуется в строку вида "-ххх.ххх…". Если число отрицательное, то впереди строки будет поставлен знак "-". Десятичной точке всегда предшествует минимум одна цифра. Количество значащих цифр после десятичной точки (0…18) указывается в параметре Digits. Если количество разрядов слева от разделителя превышает значение, указанное в параметре Precision, то для форматирования будет использоваться научный формат (ffExponent).
ffNumber
Числовой формат. Значение будет преобразовано в строку следующего вид "-х,ххх,ххх.ххх…". Данный формат аналогичен формату ffFixed, за исключением того, что полученная строка будет содержать еще и разделители тысяч.
ffCurrency
Денежный формат. Значение преобразовывается в строку, представляющую денежную величину. Количество значащих цифр после десятичной точки (0…18) определяется параметром Digits. Преобразование управляется глобальными переменными CurrencyString, CurrencyFormat, DecimalSeparator NegCurrFormat и ThousandSeparator, значения которых устанавливаются в диалоговом окне 'Язык и стандарты' панели управления Windows.
Пример var
Sum: Extended;
SumStr: string; begin
Sum:= 10255.2;
SumStr:= FloatToStrF( Sum, ffCurrency,18,2); { SumStr := '10 255,20р' }
MessageDlg( SumStr, mtInformation, [mbOk], 0); end;