在 python 中使用本地化的千位分隔符和小数精度格式化数字
Formatting numbers with localized thousands separators and decimal precision in python
可以使用小数精度格式化数字:
print("{:.2f}".format(7654321.234567))
可以使用本地化的千位分隔符格式化数字:
import locale
locale.setlocale(locale.LC_ALL, '')
print("{:n}".format(7654321.234567))
但是我怎样才能同时进行这两项操作呢?
我想在千位分隔符为 space 的国家/地区打印 7 654 321.23
,在千位分隔符为逗号的国家/地区打印 7,654,321.23
?但是我无法提前知道本地化分隔符是什么。
在点之前添加一个逗号 - 千位分隔符,并用您所在区域设置的适当分隔符进行替换:
>>> my_sep = locale.localeconv()['thousands_sep']
>>> print("{:,.2f}".format(7654321.234567).replace(',', my_sep))
7 654 321.23
可以使用小数精度格式化数字:
print("{:.2f}".format(7654321.234567))
可以使用本地化的千位分隔符格式化数字:
import locale
locale.setlocale(locale.LC_ALL, '')
print("{:n}".format(7654321.234567))
但是我怎样才能同时进行这两项操作呢?
我想在千位分隔符为 space 的国家/地区打印 7 654 321.23
,在千位分隔符为逗号的国家/地区打印 7,654,321.23
?但是我无法提前知道本地化分隔符是什么。
在点之前添加一个逗号 - 千位分隔符,并用您所在区域设置的适当分隔符进行替换:
>>> my_sep = locale.localeconv()['thousands_sep']
>>> print("{:,.2f}".format(7654321.234567).replace(',', my_sep))
7 654 321.23