*Memo:
- My post explains format().
- 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 format_map().
- My post explains f-strings.
- My post explains a string.
:[f][a][s][z][#][0][w][g][.p][t]
can format a string with format() 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('"{:.20g}"'.format(v)) print('"{:.20G}"'.format(v)) print('"{:.20}"'.format(v)) # "123456.78912000000128" # | 20 | print('"{:.18g}"'.format(v)) print('"{:.18G}"'.format(v)) print('"{:.18}"'.format(v)) # "123456.789120000001" # | 18 | print('"{:.17g}"'.format(v)) print('"{:.17G}"'.format(v)) print('"{:.17}"'.format(v)) print('"{:.11g}"'.format(v)) print('"{:.11G}"'.format(v)) print('"{:.11}"'.format(v)) print('"{:}"'.format(v)) print('"{}"'.format(v)) # "123456.78912" # | 11 | print('"{:.10g}"'.format(v)) print('"{:.10G}"'.format(v)) print('"{:.10}"'.format(v)) # "123456.7891" # | 10 | print('"{:.9g}"'.format(v)) print('"{:.9G}"'.format(v)) print('"{:.9}"'.format(v)) # "123456.789" # | 9 | print('"{:.8g}"'.format(v)) print('"{:.8G}"'.format(v)) print('"{:.8}"'.format(v)) # "123456.79" # | 8 | print('"{:.7g}"'.format(v)) print('"{:.7G}"'.format(v)) print('"{:.7}"'.format(v)) # "123456.8" # | 7 | print('"{:.6g}"'.format(v)) print('"{:.6G}"'.format(v)) print('"{:g}"'.format(v)) print('"{:G}"'.format(v)) # "123457" # | 6 | print('"{:.6}"'.format(v)) # "1.23457e+05" # | 6 | print('"{:.5g}"'.format(v)) print('"{:.5}"'.format(v)) # "1.2346e+05" # | 5 | print('"{:.5G}"'.format(v)) # "1.2346E+05" # | 5 | print('"{:.4g}"'.format(v)) print('"{:.4}"'.format(v)) # "1.235e+05" # | 4 | print('"{:.4G}"'.format(v)) # "1.235E+05" # | 4 | print('"{:.3g}"'.format(v)) print('"{:.3}"'.format(v)) # "1.23e+05" # |3 | print('"{:.3G}"'.format(v)) # "1.23E+05" # |3 | print('"{:.2g}"'.format(v)) print('"{:.2}"'.format(v)) # "1.2e+05" # |2| print('"{:.2G}"'.format(v)) # "1.2E+05" # |2| print('"{:.1g}"'.format(v)) print('"{:.1}"'.format(v)) print('"{:.0g}"'.format(v)) print('"{:.0}"'.format(v)) # "1e+05" print('"{:.1G}"'.format(v)) print('"{:.0G}"'.format(v)) # "1E+05" print('"{:#.1g}"'.format(v)) print('"{:#.1}"'.format(v)) print('"{:#.0g}"'.format(v)) print('"{:#.0}"'.format(v)) # "1.e+05" print('"{:#.1G}"'.format(v)) print('"{:#.0G}"'.format(v)) # "1.E+05" print('"{:,.20g}"'.format(v)) print('"{:,.20G}"'.format(v)) print('"{:,.20}"'.format(v)) # "123,456.78912000000128" # | 20 | print('"{:,g}"'.format(v)) print('"{:,G}"'.format(v)) # "123,457" # | 6 | print('"{:,}"'.format(v)) # "123,456.78912" # | 11 | print('"{:_.20g}"'.format(v)) print('"{:_.20G}"'.format(v)) # "123_456.78912000000128" # | 20 | print('"{:_g}"'.format(v)) print('"{:_G}"'.format(v)) # "123_457" # | 6 | print('"{:_}"'.format(v)) # "123_456.78912" # | 11 |
print("{:g} {:g}".format(float('nan'), float('inf'))) # nan inf print("{:G} {:G}".format(float('nan'), float('inf'))) # 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('"{:.20g}"'.format(v)) print('"{:.20G}"'.format(v)) print('"{:.20}"'.format(v)) print('"{:.18g}"'.format(v)) print('"{:.18G}"'.format(v)) print('"{:.18}"'.format(v)) print('"{:.17g}"'.format(v)) print('"{:.17G}"'.format(v)) print('"{:.17}"'.format(v)) print('"{:.11g}"'.format(v)) print('"{:.11G}"'.format(v)) print('"{:.11}"'.format(v)) print('"{:g}"'.format(v)) print('"{:G}"'.format(v)) print('"{:}"'.format(v)) print('"{}"'.format(v)) # "123456.78912" # | 11 | print('"{:.10g}"'.format(v)) print('"{:.10G}"'.format(v)) print('"{:.10}"'.format(v)) # "123456.7891" # | 10 | print('"{:.9g}"'.format(v)) print('"{:.9G}"'.format(v)) print('"{:.9}"'.format(v)) # "123456.789" # | 9 | print('"{:.8g}"'.format(v)) print('"{:.8G}"'.format(v)) print('"{:.8}"'.format(v)) # "123456.79" # | 8 | print('"{:.7g}"'.format(v)) print('"{:.7G}"'.format(v)) print('"{:.7}"'.format(v)) # "123456.8" # | 7 | print('"{:.6g}"'.format(v)) print('"{:.6G}"'.format(v)) print('"{:.6}"'.format(v)) # "123457" # | 6 | print('"{:.5g}"'.format(v)) # "1.2346e+5" # | 5 | print('"{:.5G}"'.format(v)) print('"{:.5}"'.format(v)) # "1.2346E+5" # | 5 | print('"{:.4g}"'.format(v)) # "1.235e+5" # | 4 | print('"{:.4G}"'.format(v)) print('"{:.4}"'.format(v)) # "1.235E+5" # | 4 | print('"{:.3g}"'.format(v)) # "1.23e+5" # |3 | print('"{:.3G}"'.format(v)) print('"{:.3}"'.format(v)) # "1.23E+5" # |3 | print('"{:.2g}"'.format(v)) # "1.2e+5" # |2| print('"{:.2G}"'.format(v)) print('"{:.2}"'.format(v)) # "1.2E+5" # |2| print('"{:.1g}"'.format(v)) print('"{:.0g}"'.format(v)) # "1e+5" print('"{:.1G}"'.format(v)) print('"{:.1}"'.format(v)) print('"{:.0G}"'.format(v)) print('"{:.0}"'.format(v)) # "1E+5" print('"{:#.1g}"'.format(v)) print('"{:#.0g}"'.format(v)) # "1.e+5" print('"{:#.1G}"'.format(v)) print('"{:#.1}"'.format(v)) print('"{:#.0G}"'.format(v)) print('"{:#.0}"'.format(v)) # "1.E+5" print('"{:,.20g}"'.format(v)) print('"{:,.20G}"'.format(v)) print('"{:,.20}"'.format(v)) print('"{:,g}"'.format(v)) print('"{:,G}"'.format(v)) print('"{:,}"'.format(v)) # "123,456.78912" # | 11 | print('"{:_.20g}"'.format(v)) print('"{:_.20G}"'.format(v)) print('"{:_.20}"'.format(v)) print('"{:_g}"'.format(v)) print('"{:_G}"'.format(v)) print('"{:_}"'.format(v)) # ValueError: invalid format string
from decimal import Decimal print('"{:g} {:g}"'.format(Decimal(value=float('nan')), Decimal(value=float('inf')))) print('"{:G} {:G}"'.format(Decimal(value=float('nan')), Decimal(value=float('inf')))) # "NaN Infinity"
Top comments (0)