Russian Belarusian English German Japanese Ukrainian
  • Главная
  • Строка форматирования функций типа FormatFloat

3.55

Строка форматирования применяется в функциях FormatFloat, FloatToTextFmt, в методе FormatFloat класса AnsiString и в некоторых других.

В строке используются следующие символы:

Значение Описание
0 Сохранение позиции для цифры. Если форматируемое число содержит цифру в позиции, в которой в строке форматирования имеется символ "0", то эта цифра копируется в выходную строку. В противном случае в этой позиции в выходной строке содержится "0".
# Сохранение позиции для цифры. Если форматируемое число содержит цифру в позиции, в которой в строке форматирования имеется символ "#", то эта цифра копируется в выходную строку. В противном случае в эту позицию в выходной строке ничего не заносится.
. Десятичная точка. Первый символ точки "." в строке форматирования определяет позицию десятичной точки в отформатированном числе. Любые последующие символы "." в строке игнорируются. Действительный символ, используемый в качестве десятичной точки, определяется глобальной переменной DecimalSeparator, установленной в разделе Number Format элемента International программы «Панель управления» Windows.
, Разделитель тысяч. Если строка форматирования содержит один или более символов ",", то в выходной строке будут использованы разделители тысяч. Местоположение символов "," в строке форматирования безразлично - это просто указание, что надо использовать разделители тысяч. Действительный символ, используемый в качестве разделителя, определяется глобальной переменной ThousandSeparator, установленной в разделе NumberFormat элемента International программы «Панель управления» Windows.
Е+, Е-, е+, е-  Монетарный формат. Число преобразуется в строку, отображающую денежную сумму. Формат контролируется глобальными переменными CurrencyString, CurrencyFormat, NegCurrFormat, ThousandSeparator, DecimalSeparator, задаваемыми для монетарного формата разделом Currency Format элемента International Контрольной панели Windows. Число цифр после десятичной точки задается параметром Digits, который может лежать в пределах от 0 до 18.
'хх'/"хх" Символы, заключенные в одинарные или двойные кавычки, выводятся в выходную строку, никак не влияя на форматирование.
; Символ разделяет разделы строки, связанные с форматированием положительных, отрицательных и нулевых значений.

Расположение крайнего левого символа "0" перед десятичной точкой и крайнего правого символа "0" после десятичной точки определяет число цифр, всегда присутствующих в выходной строке.

Форматируемое число всегда округляется до стольких десятичных разрядов, сколько символов "0" и "#" находится справа от десятичной точки. Если строка форматирования не содержит десятичной точки, значение форматируемого числа округляется до ближайшего целого.

Если форматируемое число имеет больше цифр слева от десятичной точки, чем количество расположенных там в строке форматирования символов "0" и "#", то лишние цифры все равно выводятся в начале числа.

Строка форматирования может содержать от одной до трех секций, разделяемых точкой с запятой. Если задана только одна секция, то она применяется для форматирования любых чисел. Если задано две секции, то первая используется при форматировании положительных чисел и нуля, а вторая - при форматировании отрицательных чисел. Если заданы три секции, то первая относится к положительным числам, вторая - к отрицательным, третья - к нулю.

Если секции отрицательных чисел или нуля пустые (т.е. ничего не написано после соответствующей точки с запятой, то вместо них используется секция положительных чисел.

Если секция положительных чисел пустая или вообще строка форматирования пустая, то используется основной формат чисел с плавающей запятой с 15 значащими разрядами. Этот формат соответствует формату ffGeneral типа TFloatFormat. Этот же формат используется, если число имеет более 18 разрядов до десятичной точки и строка форматирования не содержит указания на применение научного формата.

Синтаксис


Ниже приведены строки форматирования и соответствующие им выходные строки.

Строка форматирования        
пустая 1234 -1234 0.5 0
0 1234 -1234 1 0
0.00 1234,00 -1234,00 0,50 0,00
#.## 1234 -1234 ,5  
#,##0.00 1 234,00 -1 234,00 0,50 0,00
#,##0.00;(#,##0.00) 1 234,00 (1 234,00) 0,50 0,00
#,##0.00;;Нуль 1 234,00 -1 234,00 0,50 Нуль
0.000Е+00 1,234Е+03 -1,234Е+03 5,000Е-01 0,000Е+00
#.###Е-0 1.234E3 -1.234E3 5Е-1 0Е0

Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter

Добавить комментарий


Поиск по сайту