- (1)
- The child packages Text_IO.Editing and Wide_Text_IO.Editing provide
localizable formatted text output, known as edited output , for decimal
types. An edited output string is a function of a numeric value,
program-specifiable locale elements, and a format control value. The numeric
value is of some decimal type. The locale elements are:
- (2)
- (3)
- the digits group separator character;
- (4)
- the radix mark character; and
- (5)
- the fill character that replaces leading zeros of the numeric
value.
- (6)
- For Text_IO.Editing the edited output and currency strings are of type
String, and the locale characters are of type Character. For Wide_Text_IO.Editing their types are Wide_String and Wide_Character, respectively.
- (7)
- Each of the locale elements has a default value that can be replaced or
explicitly overridden.
- (8)
- A format-control value is of the private type Picture; it determines the
composition of the edited output string and controls the form and placement
of the sign, the position of the locale elements and the decimal digits, the
presence or absence of a radix mark, suppression of leading zeros, and
insertion of particular character values.
- (9)
- A Picture object is composed from a String value, known as a picture
String, that serves as a template for the edited output string, and a Boolean
value that controls whether a string of all space characters is produced when
the number's value is zero. A picture String comprises a sequence of one- or
two-Character symbols, each serving as a placeholder for a character or
string at a corresponding position in the edited output string. The picture
String symbols fall into several categories based on their effect on the
edited output string:
(10)
Decimal Digit: '9'
Radix Control: '.' 'V'
Sign Control: '+' '-' '<' '>' "CR" "DB"
Currency Control: '$' '#'
Zero Suppression: 'Z' '*'
Simple Insertion: '_' 'B' '0' '/'
- (11)
- The entries are not case-sensitive. Mixed- or lower-case forms for "CR"
and "DB", and lower-case forms for 'V', 'Z', and 'B', have the same effect as
the upper-case symbols shown.
- (12)
- An occurrence of a '9' Character in the picture String represents a
decimal digit position in the edited output string.
- (13)
- A radix control Character in the picture String indicates the position
of the radix mark in the edited output string: an actual character position
for '.', or an assumed position for 'V'.
- (14)
- A sign control Character in the picture String affects the form of the
sign in the edited output string. The '<' and '>' Character values indicate
parentheses for negative values. A Character '+', '-', or '<' appears either
singly, signifying a fixed-position sign in the edited output, or repeated,
signifying a floating-position sign that is preceded by zero or more space
characters and that replaces a leading 0.
- (15)
- A currency control Character in the picture String indicates an
occurrence of the currency string in the edited output string. The '$'
Character represents the complete currency string; the '#' Character
represents one character of the currency string. A '$' Character appears
either singly, indicating a fixed-position currency string in the edited
output, or repeated, indicating a floating-position currency string that
occurs in place of a leading 0. A sequence of '#' Character values indicates
either a fixed- or floating-position currency string, depending on context.
- (16)
- A zero suppression Character in the picture String allows a leading zero
to be replaced by either the space character (for 'Z') or the fill character
(for '*').
- (17)
- A simple insertion Character in the picture String represents, in
general, either itself (if '/' or '0'), the space character (if 'B'), or the
digits group separator character (if '_'). In some contexts it is treated as
part of a floating sign, floating currency, or zero suppression string.
- (18)
- An example of a picture String is "<###Z_ZZ9.99>". If the currency
string is "FF", the separator character is ',', and the radix mark is '.'
then the edited output string values for the decimal values 32.10 and
-5432.10 are "bbFFbbb32.10b" and "(bFF5,432.10)", respectively, where 'b'
indicates the space character.
- (19)
- The generic packages Text_IO.Decimal_IO and Wide_Text_IO.Decimal_IO (see
A.10.9, ``Input-Output for Real Types'') provide text input and non-edited
text output for decimal types.
-
- (20)
(2) A picture String is of type Standard.String, both for
Text_IO.Editing and Wide_Text_IO.Editing.
Subclauses
- Picture String Formation
- Edited Output Generation
- The Package Text_IO.Editing
- The Package Wide_Text_IO.Editing
-- Email comments, additions, corrections, gripes, kudos, etc. to:
Magnus Kempe -- Magnus.Kempe@di.epfl.ch
Copyright statement
Page last generated: 95-03-12