可以用以下方式格式化一个十进制精度的数字:
print("{:.2f}".format(7654321.234567))可以用以下方法格式化具有本地化的数千个分隔符的数字:
import locale
locale.setlocale(locale.LC_ALL, '')
print("{:n}".format(7654321.234567))但我怎样才能同时做到这两点呢?
例如,我想在一个以数千分隔符为空格的国家打印7 654 321.23,在一个以数千分隔符为逗号的国家打印7,654,321.23?但我不能事先知道什么是局部分隔符。
发布于 2017-06-08 13:46:08
在点前添加逗号(千分隔符),并使用区域设置的适当分隔符替换:
>>> my_sep = locale.localeconv()['thousands_sep']
>>> print("{:,.2f}".format(7654321.234567).replace(',', my_sep))
7 654 321.23https://stackoverflow.com/questions/44437406
复制相似问题