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 |
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