在 Python 2 中使用逗号分隔符格式化数字并舍入到小数点后 2 位?
Posted
技术标签:
【中文标题】在 Python 2 中使用逗号分隔符格式化数字并舍入到小数点后 2 位?【英文标题】:Format a number with comma separators and round to 2 decimal places in Python 2? 【发布时间】:2016-04-14 14:21:16 【问题描述】:我确定这一定是重复的,但我找不到关于 SO 的明确答案。
如何在 Python 2 中将2083525.34561
输出为2,083,525.35
?
我知道:
"0:,f".format(2083525.34561)
输出逗号但不四舍五入。并且:
"%.2f" % 2083525.34561
四舍五入,但不添加逗号。
【问题讨论】:
【参考方案1】:添加带有位数的小数点.2f
请参阅文档:https://docs.python.org/2/library/string.html#format-specification-mini-language:
In [212]:
"0:,.2f".format(2083525.34561)
Out[212]:
'2,083,525.35'
对于python 3,您可以使用f-strings(感谢@Alex F):
In [2]:
value = 2083525.34561
f"value:,.2f"
Out[2]:
'2,083,525.35'
【讨论】:
【参考方案2】:("%.2f" % 2083525.34561).replace(".", ",")
【讨论】:
这将输出'2083525,35'
而不是'2,083,525.35'
。问题是要求逗号作为千位分隔符,而不是小数分隔符。
对不起!我误解了这个问题...我是法国人,在法国,您使用小数分隔符来表示小数...:S
虽然是一个错误,但你的回答对我有帮助!以上是关于在 Python 2 中使用逗号分隔符格式化数字并舍入到小数点后 2 位?的主要内容,如果未能解决你的问题,请参考以下文章