*Memos:
-
My post explains
Format Specification with format() (1). - My post explains Format Specification with format() (2).
- My post explains Format Specification with format() (3).
- My post explains Format Specification with format() (4).
- My post explains f-strings.
- My post explains format().
- My post explains format_map().
- My post explains a string.
:[f][a][s][z][#][0][w][g][.p][t]
can format a string as shown below. *Format Specification Mini-Language explains more details:
<Format a string with float
input by or not by ‘g’ or ‘G’>:
v = 123456.78912
# | 11 |
print(v)
# 123456.78912
# | 11 |
print(f'"{v:.20g}"')
print(f'"{v:.20G}"')
print(f'"{v:.20}"')
# "123456.78912000000128"
# | 20 |
print(f'"{v:.18g}"')
print(f'"{v:.18G}"')
print(f'"{v:.18}"')
# "123456.789120000001"
# | 18 |
print(f'"{v:.17g}"')
print(f'"{v:.17G}"')
print(f'"{v:.17}"')
print(f'"{v:.11g}"')
print(f'"{v:.11G}"')
print(f'"{v:.11}"')
print(f'"{v:}"')
print(f'"{v}"')
# "123456.78912"
# | 11 |
print(f'"{v:.10g}"')
print(f'"{v:.10G}"')
print(f'"{v:.10}"')
# "123456.7891"
# | 10 |
print(f'"{v:.9g}"')
print(f'"{v:.9G}"')
print(f'"{v:.9}"')
# "123456.789"
# | 9 |
print(f'"{v:.8g}"')
print(f'"{v:.8G}"')
print(f'"{v:.8}"')
# "123456.79"
# | 8 |
print(f'"{v:.7g}"')
print(f'"{v:.7G}"')
print(f'"{v:.7}"')
# "123456.8"
# | 7 |
print(f'"{v:.6g}"')
print(f'"{v:.6G}"')
print(f'"{v:g}"')
print(f'"{v:G}"')
# "123457"
# | 6 |
print(f'"{v:.6}"')
# "1.23457e+05"
# | 6 |
print(f'"{v:.5g}"')
print(f'"{v:.5}"')
# "1.2346e+05"
# | 5 |
print(f'"{v:.5G}"')
# "1.2346E+05"
# | 5 |
print(f'"{v:.4g}"')
print(f'"{v:.4}"')
# "1.235e+05"
# | 4 |
print(f'"{v:.4G}"')
# "1.235E+05"
# | 4 |
print(f'"{v:.3g}"')
print(f'"{v:.3}"')
# "1.23e+05"
# |3 |
print(f'"{v:.3G}"')
# "1.23E+05"
# |3 |
print(f'"{v:.2g}"')
print(f'"{v:.2}"')
# "1.2e+05"
# |2|
print(f'"{v:.2G}"')
# "1.2E+05"
# |2|
print(f'"{v:.1g}"')
print(f'"{v:.1}"')
print(f'"{v:.0g}"')
print(f'"{v:.0}"')
# "1e+05"
print(f'"{v:.1G}"')
print(f'"{v:.0G}"')
# "1E+05"
print(f'"{v:#.1g}"')
print(f'"{v:#.1}"')
print(f'"{v:#.0g}"')
print(f'"{v:#.0}"')
# "1.e+05"
print(f'"{v:#.1G}"')
print(f'"{v:#.0G}"')
# "1.E+05"
print(f'"{v:,.20g}"')
print(f'"{v:,.20G}"')
print(f'"{v:,.20}"')
# "123,456.78912000000128"
# | 20 |
print(f'"{v:,g}"')
print(f'"{v:,G}"')
# "123,457"
# | 6 |
print(f'"{v:,}"')
# "123,456.78912"
# | 11 |
print(f'"{v:_.20g}"')
print(f'"{v:_.20G}"')
# "123_456.78912000000128"
# | 20 |
print(f'"{v:_g}"')
print(f'"{v:_G}"')
# "123_457"
# | 6 |
print(f'"{v:_}"')
# "123_456.78912"
# | 11 |
print(f'{float('nan'):g} {float('inf'):g}')
# nan inf
print(f'{float('nan'):G} {float('inf'):G}')
# NAN INF
<Format a string with Decimal() input by or not by ‘g’ or ‘G’>:
v = Decimal('123456.78912')
# | 11 |
print(v)
# 123456.78912
# | 11 |
print(f'"{v:.20g}"')
print(f'"{v:.20G}"')
print(f'"{v:.20}"')
print(f'"{v:.18g}"')
print(f'"{v:.18G}"')
print(f'"{v:.18}"')
print(f'"{v:.17g}"')
print(f'"{v:.17G}"')
print(f'"{v:.17}"')
print(f'"{v:.11g}"')
print(f'"{v:.11G}"')
print(f'"{v:.11}"')
print(f'"{v:g}"')
print(f'"{v:G}"')
print(f'"{v:}"')
print(f'"{v}"')
# "123456.78912"
# | 11 |
print(f'"{v:.10g}"')
print(f'"{v:.10G}"')
print(f'"{v:.10}"')
# "123456.7891"
# | 10 |
print(f'"{v:.9g}"')
print(f'"{v:.9G}"')
print(f'"{v:.9}"')
# "123456.789"
# | 9 |
print(f'"{v:.8g}"')
print(f'"{v:.8G}"')
print(f'"{v:.8}"')
# "123456.79"
# | 8 |
print(f'"{v:.7g}"')
print(f'"{v:.7G}"')
print(f'"{v:.7}"')
# "123456.8"
# | 7 |
print(f'"{v:.6g}"')
print(f'"{v:.6G}"')
print(f'"{v:.6}"')
# "123457"
# | 6 |
print(f'"{v:.5g}"')
# "1.2346e+5"
# | 5 |
print(f'"{v:.5G}"')
print(f'"{v:.5}"')
# "1.2346E+5"
# | 5 |
print(f'"{v:.4g}"')
# "1.235e+5"
# | 4 |
print(f'"{v:.4G}"')
print(f'"{v:.4}"')
# "1.235E+5"
# | 4 |
print(f'"{v:.3g}"')
# "1.23e+5"
# |3 |
print(f'"{v:.3G}"')
print(f'"{v:.3}"')
# "1.23E+5"
# |3 |
print(f'"{v:.2g}"')
# "1.2e+5"
# |2|
print(f'"{v:.2G}"')
print(f'"{v:.2}"')
# "1.2E+5"
# |2|
print(f'"{v:.1g}"')
print(f'"{v:.0g}"')
# "1e+5"
print(f'"{v:.1G}"')
print(f'"{v:.1}"')
print(f'"{v:.0G}"')
print(f'"{v:.0}"')
# "1E+5"
print(f'"{v:#.1g}"')
print(f'"{v:#.0g}"')
# "1.e+5"
print(f'"{v:#.1G}"')
print(f'"{v:#.1}"')
print(f'"{v:#.0G}"')
print(f'"{v:#.0}"')
# "1.E+5"
print(f'"{v:,.20g}"')
print(f'"{v:,.20G}"')
print(f'"{v:,.20}"')
print(f'"{v:,g}"')
print(f'"{v:,G}"')
print(f'"{v:,}"')
# "123,456.78912"
# | 11 |
print(f'"{v:_.20g}"')
print(f'"{v:_.20G}"')
print(f'"{v:_.20}"')
print(f'"{v:_g}"')
print(f'"{v:_G}"')
print(f'"{v:_}"')
# ValueError: invalid format string
from decimal import Decimal
v1 = Decimal(value=float('nan'))
v2 = Decimal(value=float('inf'))
print(f'"{v1:g} {v2:g}"')
print(f'"{v1:G} {v2:G}"')
# "NaN Infinity"