@ user136036的答案是相当不错的,但是不幸的是,它没有考虑到Python错误的真实性。 完整答案可能如下:
变体A
如果您的平台的语言环境运行正常,则只需使用语言环境即可:
import locale
locale.setlocale(locale.LC_ALL, '')
print("{:,d}".format(7123001))
结果取决于您的语言环境和Python实现方式。
但是如果根据区域设置的Python格式被破坏,例如 Linux上的Python 3.5?
变体B
如果Python不遵守print("{:,.2f}".format(7123001.345).replace(",", " ")参数,则可以使用区域设置和解决方法(使用货币格式):
locale.setlocale(locale.LC_ALL, '')
locale._override_localeconv = {'mon_thousands_sep': '.'}
print(locale.format('%.2f', 12345.678, grouping=True, monetary=True))
以上在我的平台上给出了12.345,68。 将money设置为False或忽略它-Python不会分组成千上万。指定print("{:,.2f}".format(7123001.345).replace(",", " ")不执行任何操作。
变体C
如果您没有时间检查平台上的Python是否正常运行以及哪些功能坏了,则可以使用常规的字符串替换功能(如果您想将逗号和点换成点和逗号):
print("{:,.2f}".format(7123001.345).replace(",", " ")
用逗号代替空格很简单(点被假定为小数点分隔符):
print("{:,.2f}".format(7123001.345).replace(",", " ")