Рядок форматування застосовується у функціях 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 |