Определяет универсальное числовое форматирование, которое стремится сохранить результирующее значение как можно компактнее. Он удаляет конечные нули и десятичную точку, где возможно. Никакие разделители тысяч не показываются. Формат экспоненты используется, если мантисса является слишком большой для указанного значения Precision команды форматирования. В этом случае, значение Digits (0.. 4) определяет минимальное число показываемых цифр экспоненты. Символ десятичной точки определен переменной DecimalSeparator. ffExponent
Например: 123.456 форматируется как 1.23456E+2; 0.00123 форматируется как 1.23E-3.
Используемый функцией параметр Precision дает число отображаемый цифр перед E, а параметр Digits дает число цифр (0..4) после E.
Символ десятичной точки определен переменной DecimalSeparator.
Этот формат также не использует никаких разделителей тысяч. Он отображает Precision цифр перед десятичной точкой, и Digits цифр после. Если слишком много цифр перед десятичной точкой, то вместо этого используется формат экспоненты.
Символ десятичной точки определен переменной DecimalSeparator.
То же самое, что и ffFixed, за исключением того, что используется разделитель тысяч. Они определены переменной ThousandSeparator.
То же самое, что и ffNumber, но с добавлением символа (строки) денежной единицы, который определен переменной CurrencyString. Дополнительно, на форматирование влияют переменные CurrencyFormat и NegCurrFormat.
Похожие команды
CurrencyDecimals Определяет число десятичных цифр в функции Format
CurrencyFormat Определяет размещение строки валюты в функции показа валюты
CurrencyString Строка валюты, используемая в функциях отображения валюты
CurrToStrF Преобразует денежную величину в строку с форматированием
DecimalSeparator Символ используемый для отображения десятичной точки
FloatToStrF Преобразует значение с плавающей запятой в строку с форматированием
NegCurrFormat Определяет отображение отрицательного количества форматированной валюты
ThousandSeparator Символ, используемый для отображения разделителя тысяч
Пример кода : Иллюстрация 5 различных типов форматирования
Справочник функций и процедур Delphi: TFloatFormat
TFloatFormat Тип
Форматы, используемые в функциях отображения чисел с плавающей запятой
SysUtils unit
type TFloatFormat = (ffGeneral, ffExponent, ffFixed, ffNumber, ffCurrency);
Описание
Тип TFloatFormat используется следующими SysUtils функциями:
Возможные значения TFloatFormat:
Определяет универсальное числовое форматирование, которое стремится сохранить результирующее значение как можно компактнее. Он удаляет конечные нули и десятичную точку, где возможно. Никакие разделители тысяч не показываются. Формат экспоненты используется, если мантисса является слишком большой для указанного значения Precision команды форматирования. В этом случае, значение Digits (0.. 4) определяет минимальное число показываемых цифр экспоненты. Символ десятичной точки определен переменной DecimalSeparator. ffExponent
Например: 123.456 форматируется как 1.23456E+2; 0.00123 форматируется как 1.23E-3.
Используемый функцией параметр Precision дает число отображаемый цифр перед E, а параметр Digits дает число цифр (0..4) после E.
Символ десятичной точки определен переменной DecimalSeparator.
Этот формат также не использует никаких разделителей тысяч. Он отображает Precision цифр перед десятичной точкой, и Digits цифр после. Если слишком много цифр перед десятичной точкой, то вместо этого используется формат экспоненты.
Символ десятичной точки определен переменной DecimalSeparator.
То же самое, что и ffFixed, за исключением того, что используется разделитель тысяч. Они определены переменной ThousandSeparator.
То же самое, что и ffNumber, но с добавлением символа (строки) денежной единицы, который определен переменной CurrencyString. Дополнительно, на форматирование влияют переменные CurrencyFormat и NegCurrFormat.
Похожие команды
CurrencyDecimals Определяет число десятичных цифр в функции Format
CurrencyFormat Определяет размещение строки валюты в функции показа валюты
CurrencyString Строка валюты, используемая в функциях отображения валюты
CurrToStrF Преобразует денежную величину в строку с форматированием
DecimalSeparator Символ используемый для отображения десятичной точки
FloatToStrF Преобразует значение с плавающей запятой в строку с форматированием
NegCurrFormat Определяет отображение отрицательного количества форматированной валюты
ThousandSeparator Символ, используемый для отображения разделителя тысяч
Пример кода : Иллюстрация 5 различных типов форматирования
Описание Функция преобразовывает число с плавающей запятой Value в его строковое представление, используя заданный формат. Параметр Precision определяет количество знаков в результирующем значении, которое должно находиться в следующих пределах:
Тип
Precision
Тип
Precision
Тип
Precision
Single
=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); MessageDlg( SumStr, mtInformation, [mbOk], 0); end;
CurrToStrF? For displaying currency values FloatToStrF For general float displaying FloatToText For formatting to an array
The possible values of TFloatFormat are :
Defines general number formatting that aims to keep the resultant value as compact as possible. It removes trailing zeros and the decimal point where appropriate. No thousand separators are shown. Exponent format is used if the mantissa is too large for the specified Precision value of the formatting command. In this case, the Digits value (0..4) determines the minimum number of exponent digits shown. The decimal point character is determined by the DecimalSeparator variable.
For example : 123.456 formats as 1.23456E+20.00123 formats as 1.23E-3
The using function Precision parameter gives the number of displayed digits before the E, and the Digits parameter gives the number (0..4) of digits after the E.
The decimal point character is determined by the DecimalSeparator variable.
This format again uses no thousands separator. It displays Precision digits before the decimal point, and Digits digits after. If there are too many digits before the decimal point, then the Exponent format is used instead.
The decimal point character is determined by the DecimalSeparator variable.
Same as ffFixed, except that thousand separators are used. These are defined by the ThousandSeparator variable.
Same as ffNumber, but with a currency symbol (string) added, as defined by the CurrencyString variable. Additionally, the formatting is influenced by the CurrencyFormat and NegCurrFormat variables.
Notes
Note above that the Precision and Digits values of the function using TFloatFormat depend on the format chosen.
Related commands
CurrencyDecimals
Defines decimal digit count in the Format function
CurrencyFormat
Defines currency string placement in curr display functions
CurrencyString
The currency string used in currency display functions
CurrToStrF
Convert a currency value to a string with formatting
DecimalSeparator
The character used to display the decimal point
FloatToStrF
Convert a floating point value to a string with formatting
NegCurrFormat
Defines negative amount formatting in currency displays
ThousandSeparator
The character used to display the thousands separator
Author links
Download this web site as a Windows program.
Example code : Illustrate the 5 different types of formatting