Format Specification¶
format_spec ::= [[fill]align][sign][#][0][![!]][width][grouping_option][%[-]margin][.precision][type]
fill ::= <any character>
align ::= "<" | ">" | "=" | "^"
sign ::= "+" | "-" | " "
width ::= digit+
grouping_option ::= "_" | ","
precision ::= digit+
type ::= "e" | "E" | "f" | "F" | "g" | "G" | "h" | "H" | "k" | "K" | "m" | "M" | "n" | "%"
Prefixed-specific fields are defined below. Descriptions of standard fields can be found in the Format Specification Mini-Language documentation.
Prefixed-specific fields¶
Flags¶
Flag | Meaning |
---|---|
'!' |
Add a single space between number and prefix |
'!!' |
Same as '!' , but drop space if there is no prefix |
Margin¶
By default, a prefix will be used when the magnitude of that prefix is reached.
For example, format(Float(999), '.1h')
will result in '999.0'
and
format(Float(1000), '.1h')
will result in '1.0k'
.
Margin specifies the percentage to raise or lower these thresholds.
>>> f'{Float(950):%-5.2h}'
'0.95k'
>>> f'{Float(1000):%5.2h}'
'1000.00'
Presentation Types¶
Type Meaning 'h'
SI format. Outputs the number with closest divisible SI prefix. (k, M, G, …) 'H'
Same as 'h'
with precision indicating significant digits.'k'
IEC Format. Outputs the number with closest divisible IEC prefix. (Ki, Mi, Gi, …) 'K'
Same as 'k'
with precision indicating significant digits.'m'
Short IEC Format. Same as 'k'
but only a single character. (K, M, G, …)'M'
Same as 'm'
with precision indicating significant digits.'j'
Alias for 'k'
- DEPRECATED'J'
Alias for 'm'
- DEPRECATED