*Memo:
- My post explains format_map().
- My post explains Format Specification with format_map() (1).
- My post explains Format Specification with format_map() (2).
- My post explains Format Specification with format_map() (3).
- My post explains Format Specification with format_map() (5).
- My post explains format().
- 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_map() as shown below:
<Format a string with Decimal() by 'f' or 'F'>:
from decimal import Decimal v = {'k':Decimal(value='1234.5555555555')} # | 10 | print(v['k']) # 1234.5555555555 # | 10 | print('"{k:.20f}"'.format_map(v)) print('"{k:.20F}"'.format_map(v)) # "1234.55555555550000000000" # | 20 | print('"{k:.15f}"'.format_map(v)) print('"{k:.15F}"'.format_map(v)) # "1234.555555555500000" # | 15 | print('"{k:.10f}"'.format_map(v)) print('"{k:.10F}"'.format_map(v)) print('"{k:f}"'.format_map(v)) print('"{k:F}"'.format_map(v)) # "1234.5555555555" # | 10 | print('"{k:.6f}"'.format_map(v)) print('"{k:.6F}"'.format_map(v)) # "1234.555556" # | 6 | print('"{k:.2f}"'.format_map(v)) print('"{k:.2F}"'.format_map(v)) # "1234.56" print('"{k:.1f}"'.format_map(v)) print('"{k:.1F}"'.format_map(v)) # "1234.6" print('"{k:.0f}"'.format_map(v)) print('"{k:.0F}"'.format_map(v)) # "1235" print('"{k:#.0f}"'.format_map(v)) print('"{k:#.0F}"'.format_map(v)) # "1235." print('"{k:,.20f}"'.format_map(v)) print('"{k:,.20F}"'.format_map(v)) # "1,234.55555555550000000000" # | 20 | print('"{k:,f}"'.format_map(v)) print('"{k:,F}"'.format_map(v)) # "1,234.5555555555" # | 10 | print('"{k:_.20f}"'.format_map(v)) print('"{k:_.20F}"'.format_map(v)) print('"{k:_f}"'.format_map(v)) print('"{k:_F}"'.format_map(v)) # ValueError: invalid format string
from decimal import Decimal print('"{k1:f} {k2:f}"'.format_map({'k1':Decimal(value='nan'), 'k2':Decimal(value='inf')})) print('"{k1:F} {k2:F}"'.format_map({'k1':Decimal(value='nan'), 'k2':Decimal(value='inf')})) # "NaN Infinity"
*Decimal()
without str
gets an improper value.
from decimal import Decimal v = {'k':Decimal(value=1234.5555555555)} # | 10 | print(v['k']) # 1234.555555555499950060038827359676361083984375 # | 42 | print('"{k:.20f}"'.format_map(v)) print('"{k:.20F}"'.format_map(v)) # "1234.55555555549995006004" # | 20 | print('"{k:.15f}"'.format_map(v)) print('"{k:.15F}"'.format_map(v)) # "1234.555555555499950" # | 15 | print('"{k:.10f}"'.format_map(v)) print('"{k:.10F}"'.format_map(v)) # "1234.5555555555" # | 10 | print('"{k:.6f}"'.format_map(v)) print('"{k:.6F}"'.format_map(v)) # "1234.555556" # | 6 | print('"{k:.2f}"'.format_map(v)) print('"{k:.2F}"'.format_map(v)) # "1234.56" print('"{k:.1f}"'.format_map(v)) print('"{k:.1F}"'.format_map(v)) # "1234.6" print('"{k:.0f}"'.format_map(v)) print('"{k:.0F}"'.format_map(v)) # "1235" print('"{k:#.0f}"'.format_map(v)) print('"{k:#.0F}"'.format_map(v)) # "1235." print('"{k:f}"'.format_map(v)) print('"{k:F}"'.format_map(v)) # "1234.555555555499950060038827359676361083984375" # | 42 | print('"{k:,.20f}"'.format_map(v)) print('"{k:,.20F}"'.format_map(v)) # "1,234.55555555549995006004" # | 20 | print('"{k:,f}"'.format_map(v)) print('"{k:,F}"'.format_map(v)) # "1,234.555555555499950060038827359676361083984375" # | 42 | print('"{k:_.20f}"'.format_map(v)) print('"{k:_.20F}"'.format_map(v)) print('"{k:_f}"'.format_map(v)) print('"{k:_F}"'.format_map(v)) # ValueError: invalid format string
from decimal import Decimal print('"{k1:f} {k2:f}"'.format_map({'k1':Decimal(value=float('nan')), 'k2':Decimal(value=float('inf'))})) print('"{k1:F} {k2:F}"'.format_map({'k1':Decimal(value=float('nan')), 'k2':Decimal(value=float('inf'))})) # "NaN Infinity"
Top comments (0)