Описание |
Тип TFloatFormat используется следующими SysUtils функциями:
CurrToStrF - для отображения значений валют
FloatToStrF - для отображения чисел с плавающей запятой
FloatToText - для форматирования к массиву
Возможные значения TFloatFormat:
ffGeneral
Определяет универсальное числовое форматирование, которое стремится сохранить результирующее значение как можно компактнее. Он удаляет конечные нули и десятичную точку, где возможно. Никакие разделители тысяч не показываются. Формат экспоненты используется, если мантисса является слишком большой для указанного значения Precision команды форматирования. В этом случае, значение Digits (0.. 4) определяет минимальное число показываемых цифр экспоненты. Символ десятичной точки определен переменной DecimalSeparator.
ffExponent
Обычно называемый как Научный или Инженерный формат, экспонента отображается символом E следующая за числом. Запись E+15 означает 1015. Экспонента всегда имеет знак + или -. Этой экспоненте предшествует число, которое всегда имеет одну цифру перед десятичной точкой.
Например: 123.456 форматируется как 1.23456E+2; 0.00123 форматируется как 1.23E-3.
Используемый функцией параметр Precision дает число отображаемый цифр перед E, а параметр Digits дает число цифр (0..4) после E.
Символ десятичной точки определен переменной DecimalSeparator.
ffFixed
Этот формат также не использует никаких разделителей тысяч. Он отображает Precision цифр перед десятичной точкой, и Digits цифр после. Если слишком много цифр перед десятичной точкой, то вместо этого используется формат экспоненты.
Символ десятичной точки определен переменной DecimalSeparator.
ffNumber
То же самое, что и ffFixed, за исключением того, что используется разделитель тысяч. Они определены переменной ThousandSeparator.
ffCurrency
То же самое, что и ffNumber, но с добавлением символа (строки) денежной единицы, который определен переменной CurrencyString. Дополнительно, на форматирование влияют переменные CurrencyFormat и NegCurrFormat.
|
|
Похожие команды |
CurrencyDecimals Определяет число десятичных цифр в функции Format
CurrencyFormat Определяет размещение строки валюты в функции показа валюты
CurrencyString Строка валюты, используемая в функциях отображения валюты
CurrToStrF Преобразует денежную величину в строку с форматированием
DecimalSeparator Символ используемый для отображения десятичной точки
FloatToStrF Преобразует значение с плавающей запятой в строку с форматированием
NegCurrFormat Определяет отображение отрицательного количества форматированной валюты
ThousandSeparator Символ, используемый для отображения разделителя тысяч
| |
|
Пример кода : Иллюстрация 5 различных типов форматирования |
var
amount : Extended;
begin
amount := 1234.56;
// Отображение используя форматирование ffGeneral
ShowMessage('General 4,0 = '+FloatToStrF(amount, ffGeneral, 4, 0));
ShowMessage('General 6,0 = '+FloatToStrF(amount, ffGeneral, 6, 0));
ShowMessage('General 6,2 = '+FloatToStrF(amount, ffGeneral, 6, 2));
ShowMessage('General 3,2 = '+FloatToStrF(amount, ffGeneral, 3, 2));
ShowMessage('');
// Отображение используя форматирование ffExponent
ShowMessage('Exponent 4,0 = '+FloatToStrF(amount, ffExponent, 4, 0));
ShowMessage('Exponent 6,0 = '+FloatToStrF(amount, ffExponent, 6, 0));
ShowMessage('Exponent 6,2 = '+FloatToStrF(amount, ffExponent, 6, 2));
ShowMessage('Exponent 3,2 = '+FloatToStrF(amount, ffExponent, 3, 2));
ShowMessage('');
// Отображение используя форматирование ffFixed
ShowMessage('Fixed 4,0 = '+FloatToStrF(amount, ffFixed, 4, 0));
ShowMessage('Fixed 6,0 = '+FloatToStrF(amount, ffFixed, 6, 0));
ShowMessage('Fixed 6,2 = '+FloatToStrF(amount, ffFixed, 6, 2));
ShowMessage('Fixed 3,2 = '+FloatToStrF(amount, ffFixed, 3, 2));
ShowMessage('');
// Отображение используя форматирование ffNumber
ShowMessage('Number 4,0 = '+FloatToStrF(amount, ffNumber, 4, 0));
ShowMessage('Number 6,0 = '+FloatToStrF(amount, ffNumber, 6, 0));
ShowMessage('Number 6,2 = '+FloatToStrF(amount, ffNumber, 6, 2));
ShowMessage('Number 3,2 = '+FloatToStrF(amount, ffNumber, 3, 2));
ShowMessage('');
// Отображение используя форматирование ffCurrency
ShowMessage('Currency 4,0 = '+FloatToStrF(amount, ffCurrency, 4, 0));
ShowMessage('Currency 6,0 = '+FloatToStrF(amount, ffCurrency, 6, 0));
ShowMessage('Currency 6,2 = '+FloatToStrF(amount, ffCurrency, 6, 2));
ShowMessage('Currency 3,2 = '+FloatToStrF(amount, ffCurrency, 3, 2));
end;
|
General 4,0 = 1235
General 6,0 = 1234.56
General 6,2 = 1234.56
General 3,2 = 1.23E03
Exponent 4,0 = 1.235E+3
Exponent 6,0 = 1.23456E+3
Exponent 6,2 = 1.23456E+03
Exponent 3,2 = 1.23E+03
Fixed 4,0 = 1235
Fixed 6,0 = 1235
Fixed 6,2 = 1234.56
Fixed 3,2 = 1.23E03
Number 4,0 = 1,235
Number 6,0 = 1,235
Number 6,2 = 1,234.56
Number 3,2 = 1.23E03
Currency 4,0 = ?1,235
Currency 6,0 = ?1,235
Currency 6,2 = ?1,234.56
Currency 3,2 = 1.23E03
|
|