*Memo:
- My post explains f-strings.
- My post explains Format Specification with f-strings (1).
- My post explains Format Specification with f-strings (2).
- My post explains Format Specification with f-strings (3).
- My post explains Format Specification with f-strings (4).
- 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 with f-strings as shown below:
<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'>:
from decimal import Decimal 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"
Top comments (0)