Radix Control: '.' 'V'
Sign Control: '+' '-' '<' '>' "CR" "DB"
Currency Control: '$' '#'
Zero Suppression: 'Z' '*'
Simple Insertion: '_' 'B' '0' '/'
fixed_$_picture_string
| fixed_#_picture_string
| floating_currency_picture_string
| non_currency_picture_string
[fixed_LHS_sign] fixed_$_char {direct_insertion} [zero_suppression]
number [RHS_sign]
| [fixed_LHS_sign {direct_insertion}] [zero_suppression]
number fixed_$_char {direct_insertion} [RHS_sign]
| floating_LHS_sign number fixed_$_char {direct_insertion} [RHS_sign]
| [fixed_LHS_sign] fixed_$_char {direct_insertion}
all_zero_suppression_number {direct_insertion} [RHS_sign]
| [fixed_LHS_sign {direct_insertion}] all_zero_suppression_number {direct_insertion}
fixed_$_char {direct_insertion} [RHS_sign]
| all_sign_number {direct_insertion} fixed_$_char {direct_insertion} [RHS_sign]
[fixed_LHS_sign] single_#_currency {direct_insertion}
[zero_suppression] number [RHS_sign]
| [fixed_LHS_sign] multiple_#_currency {direct_insertion}
zero_suppression number [RHS_sign]
| [fixed_LHS_sign {direct_insertion}] [zero_suppression]
number fixed_#_currency {direct_insertion} [RHS_sign]
| floating_LHS_sign number fixed_#_currency {direct_insertion} [RHS_sign]
| [fixed_LHS_sign] single_#_currency {direct_insertion}
all_zero_suppression_number {direct_insertion} [RHS_sign]
| [fixed_LHS_sign] multiple_#_currency {direct_insertion}
all_zero_suppression_number {direct_insertion} [RHS_sign]
| [fixed_LHS_sign {direct_insertion}] all_zero_suppression_number {direct_insertion}
fixed_#_currency {direct_insertion} [RHS_sign]
| all_sign_number {direct_insertion} fixed_#_currency {direct_insertion} [RHS_sign]
[fixed_LHS_sign] {direct_insertion} floating_$_currency number [RHS_sign]
| [fixed_LHS_sign] {direct_insertion} floating_#_currency number [RHS_sign]
| [fixed_LHS_sign] {direct_insertion} all_currency_number {direct_insertion} [RHS_sign]
[fixed_LHS_sign {direct_insertion}] zero_suppression number [RHS_sign]
| [floating_LHS_sign] number [RHS_sign]
| [fixed_LHS_sign {direct_insertion}] all_zero_suppression_number {direct_insertion} [RHS_sign]
| all_sign_number {direct_insertion}
| fixed_LHS_sign direct_insertion {direct_insertion} number [RHS_sign]
fore_digits [radix [aft_digits] {direct_insertion}]
| radix aft_digits {direct_insertion}
LHS_Sign {context_sensitive_insertion} LHS_Sign {LHS_Sign | context_sensitive_insertion}
$ {context_sensitive_insertion} $ {$ | context_sensitive_insertion}
# {context_sensitive_insertion} # {# | context_sensitive_insertion}
sign_char {context_sensitive_insertion} sign_char {sign_char | context_sensitive_insertion}
all_sign_aft_char ::= sign_char | context_sensitive_insertion
currency_char {context_sensitive_insertion}
currency_char {currency_char | context_sensitive_insertion}
all_currency_aft_char ::= currency_char | context_sensitive_insertion
zero_suppression_char {zero_suppression_char | context_sensitive_insertion}
all_zero_suppression_aft_char ::= zero_suppression_char | context_sensitive_insertion
Table F-1: Edited Output for Sign Control Symbols
| ||
---|---|---|
Sign Control Symbol
|
Edited Output for Non-Negative Number
|
Edited Output for Negative Number
|
'+'
|
'+'
|
'-'
|
'-'
|
'b'
|
'-'
|
'<'
|
'b'
|
'('
|
'>'
|
'b'
|
')'
|
"CR"
|
"bb"
|
"CR"
|
"DB"
|
"bb"
|
"DB"
|
"bbb$***123,456.78"
"bbFF***123.456,78" (currency = "FF",
separator = '.',
radix mark = ',')
Result: "bbb$***123,456.78"
"bbbFF***123.456,78" (currency = "FF",
separator = '.',
radix mark = ',')
Result: "bbbbbbbbbb"
Result: "bbbbbb$.20"
Result: "bb(1,234.57DMb)" (currency = "DM")
Result: "bbCHF12,345.67" (currency = "CHF")
Blank_When_Zero : in Boolean := False) return Boolean;
Blank_When_Zero : in Boolean := False)
return Picture;
function Blank_When_Zero (Pic : in Picture) return Boolean;
Default_Fill : constant Character := '*';
Default_Separator : constant Character := ',';
Default_Radix_Mark : constant Character := '.';
type Num is delta <> digits <>;
Default_Currency : in String := Text_IO.Editing.Default_Currency;
Default_Fill : in Character := Text_IO.Editing.Default_Fill;
Default_Separator : in Character := Text_IO.Editing.Default_Separator;
Default_Radix_Mark : in Character := Text_IO.Editing.Default_Radix_Mark;
package Decimal_Output is
function Length (Pic : in Picture;
Currency : in String := Default_Currency)
return Natural;
Pic : in Picture;
Currency : in String := Default_Currency)
return Boolean;
Pic : in Picture;
Currency : in String := Default_Currency;
Fill : in Character := Default_Fill;
Separator : in Character := Default_Separator;
Radix_Mark : in Character := Default_Radix_Mark)
return String;
Item : in Num;
Pic : in Picture;
Currency : in String := Default_Currency;
Fill : in Character := Default_Fill;
Separator : in Character := Default_Separator;
Radix_Mark : in Character := Default_Radix_Mark);
Pic : in Picture;
Currency : in String := Default_Currency;
Fill : in Character := Default_Fill;
Separator : in Character := Default_Separator;
Radix_Mark : in Character := Default_Radix_Mark);
Item : in Num;
Pic : in Picture;
Currency : in String := Default_Currency;
Fill : in Character := Default_Fill;
Separator : in Character := Default_Separator;
Radix_Mark : in Character := Default_Radix_Mark);
end Decimal_Output;
private
... -- not specified by the language
end Ada.Text_IO.Editing;
Blank_When_Zero : in Boolean := False) return Boolean;
Blank_When_Zero : in Boolean := False)
return Picture;
function Blank_When_Zero (Pic : in Picture) return Boolean;
Pic : in Picture;
Currency : in String := Default_Currency;
Fill : in Character := Default_Fill;
Separator : in Character := Default_Separator;
Radix_Mark : in Character := Default_Radix_Mark)
return String;
Item : in Num;
Pic : in Picture;
Currency : in String := Default_Currency;
Fill : in Character := Default_Fill;
Separator : in Character := Default_Separator;
Radix_Mark : in Character := Default_Radix_Mark);
procedure Put (Item : in Num;
Pic : in Picture;
Currency : in String := Default_Currency;
Fill : in Character := Default_Fill;
Separator : in Character := Default_Separator;
Radix_Mark : in Character := Default_Radix_Mark);
Item : in Num;
Pic : in Picture;
Currency : in String := Default_Currency;
Fill : in Character := Default_Fill;
Separator : in Character := Default_Separator;
Radix_Mark : in Character := Default_Radix_Mark);