我想要显示:

49 as 49.00

and:

54.9和54.90

无论小数点的长度或是否有任何小数点,我想显示一个小数点后2位的小数,我想以一种有效的方式做到这一点。目的是展示货币价值。

例如,4898489.00


有关内置浮点类型的类似问题,请参阅将浮点数限制为两个小数点。


当前回答

是什么

print round(20.2564567 , 2)    >>>>>>>        20.25


print round(20.2564567 , 4)    >>>>>>>        20.2564

其他回答

>>> print "{:.2f}".format(1.123456)
1.12

你可以把2f中的2改成你想显示的任何小数点。

编辑:

在Python3.6中,它转换为:

>>> print(f"{1.1234:.2f}")
1.12

你应该使用新的格式规范来定义你的值应该如何表示:

>>> from math import pi  # pi ~ 3.141592653589793
>>> '{0:.2f}'.format(pi)
'3.14'

文档有时可能有点迟钝,所以我推荐以下更容易阅读的参考:

Python字符串格式烹饪书:展示了新风格的.format()字符串格式的示例 Pyformat.info:比较老式的%字符串格式和新式的.format()字符串格式

Python 3.6引入了字面值字符串插值(也称为f-strings),所以现在你可以把上面的代码写得更简洁:

>>> f'{pi:.2f}'
'3.14'

最简单的例子是:

代码:

>>>分= 19.5分 >>> total = 22 >>>'正确答案:{:.2%}'.format(分数/总分) `

输出:正确答案:88.64%

.format是一种可读性更好的处理变量格式化的方式:

'{:.{prec}f}'.format(26.034, prec=2)

是什么

print round(20.2564567 , 2)    >>>>>>>        20.25


print round(20.2564567 , 4)    >>>>>>>        20.2564