Spec-Zone.ru › Ada 95
Справочное руководство по Ada 95

F.3 Отформатированный вывод для десятичных типов

Дочерние пакеты Text_IO.Editing и Wide_Text_IO.Editing обеспечивают локализованный форматированный вывод текста, известный как отформатированный вывод, для десятичных типов. Строка отформатированного вывода является функцией числового значения, определяемых пользователем элементов локали и значения управления форматом. Числовое значение является значением какого-либо десятичного типа. Элементы локали включают:
  • строку валюты;
  • символ разделителя групп цифр;
  • символ разделителя целой и дробной части; и
  • символ заполнения, который заменяет ведущие нули числового значения.
Для Text_IO.Editing отформатированная строка вывода и строка валюты являются типа String, а символы локали — типа Character. Для Wide_Text_IO.Editing их типы соответственно Wide_String и Wide_Character.
Каждый из элементов локали имеет значение по умолчанию, которое может быть заменено или явно переопределено.
Значение управления форматом является частным типом Picture; оно определяет состав строки отформатированного вывода и управляет формой и расположением знака, положением элементов локали и десятичных цифр, наличием или отсутствием разделителя целой и дробной части, подавлением ведущих нулей и вставкой определённых символов.
Объект Picture состоит из значения String, известного как строка шаблона, которая служит шаблоном для строки отформатированного вывода, и булевого значения, которое управляет тем, будет ли строка содержать только пробелы, когда значение числа равно нулю. Строка шаблона состоит из последовательности символов длиной один или два символа, каждый из которых служит заполнителем для символа или строки в соответствующей позиции в строке отформатированного вывода. Символы строки шаблона делятся на несколько категорий в зависимости от их влияния на строку отформатированного вывода:
Десятичная цифра: '9'
Управление разделителем целой и дробной части: '.' 'V'
Управление знаком: '+' '-' '<' '>' "CR" "DB"
Управление валютой: '$' '#'
Подавление нулей: 'Z' '*'
Простое вставка: '_' 'B' '0' '/'
Записи нечувствительны к регистру. Смешанные или строчные формы для "CR" и "DB", и строчные формы для 'V', 'Z' и 'B' имеют тот же эффект, что и прописные символы, показанные.
Встречаемость символа '9' в строке шаблона соответствует позиции десятичной цифры в строке отформатированного вывода.
Символ управления разделителем целой и дробной части в строке шаблона указывает положение разделителя целой и дробной части в строке отформатированного вывода: фактическая позиция для '.', или предполагаемая позиция для 'V'.
Символ управления знаком в строке шаблона влияет на форму знака в строке отформатированного вывода. Значения символов '<' и '>' указывают круглые скобки для отрицательных значений. Символ '+', '-', или '<' появляется либо отдельно, что означает знак фиксированной позиции в строке отформатированного вывода, либо повторяется, что означает плавающий знак, который предшествует нулю или более пробелам и который заменяет ведущий 0.
Символ управления валютой в строке шаблона указывает на появление строки валюты в строке отформатированного вывода. Символ '$' представляет собой полную строку валюты; символ '#' представляет собой один символ строки валюты. Символ '$' появляется либо отдельно, что указывает на строку валюты фиксированной позиции в выводе, либо повторяется, что указывает на строку валюты плавающей позиции, которая появляется вместо ведущего нуля. Последовательность символов '#' указывает либо строку валюты фиксированной, либо плавающей позиции в зависимости от контекста.
Символ подавления нулей в строке шаблона позволяет заменить ведущий ноль либо символом пробела (для 'Z'), либо символом заполнения (для '*').
Символ простой вставки в строке шаблона в общем случае представляет собой либо себя (если это '/', или '0'), либо символ пробела (если 'B'), либо символ разделителя групп цифр (если '_'). В некоторых контекстах он обрабатывается как часть плавающего знака, плавающей валюты или строки подавления нулей.
Примером строки шаблона является "<###Z_ZZ9.99>". Если строка валюты — "FF", символ разделителя групп — ',', а разделитель целой и дробной части — '.', то значения строк отформатированного вывода для десятичных значений 32.10 и -5432.10 составляют соответственно "bbFFbbb32.10b" и "(bFF5,432.10)", где 'b' обозначает символ пробела.
Обобщенные пакеты Text_IO.Decimal_IO и Wide_Text_IO.Decimal_IO (см. A.10.9, ``Ввод-вывод для вещественных типов'') предоставляют текстовый ввод и вывод без форматирования для десятичных типов.
ПРИМЕЧАНИЯ
2 Строка шаблона является типа Standard.String, как для Text_IO.Editing, так и для Wide_Text_IO.Editing.


Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API