我想要显示:
49 as 49.00
and:
54.9和54.90
无论小数点的长度或是否有任何小数点,我想显示一个小数点后2位的小数,我想以一种有效的方式做到这一点。目的是展示货币价值。
例如,4898489.00
有关内置浮点类型的类似问题,请参阅将浮点数限制为两个小数点。
我想要显示:
49 as 49.00
and:
54.9和54.90
无论小数点的长度或是否有任何小数点,我想显示一个小数点后2位的小数,我想以一种有效的方式做到这一点。目的是展示货币价值。
例如,4898489.00
有关内置浮点类型的类似问题,请参阅将浮点数限制为两个小数点。
当前回答
这与你可能已经看到的解决方案是一样的,但是这样做会更清楚:
>>> num = 3.141592654
>>> print(f“Number: {num:.2f}”)
其他回答
最简单的例子是:
代码:
>>>分= 19.5分 >>> total = 22 >>>'正确答案:{:.2%}'.format(分数/总分) `
输出:正确答案:88.64%
你应该使用新的格式规范来定义你的值应该如何表示:
>>> 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'
这与你可能已经看到的解决方案是一样的,但是这样做会更清楚:
>>> num = 3.141592654
>>> print(f“Number: {num:.2f}”)
你可以这样使用字符串格式化操作符:
num = 49
x = "%.2f" % num # x is now the string "49.00"
我不确定您所说的“高效”是什么意思——这几乎肯定不是应用程序的瓶颈。如果您的程序运行缓慢,请先对其进行分析,以找到热点,然后优化这些热点。
如果你有多个参数,你可以使用
print('some string {0:.2f} & {1:.2f}'.format(1.1234,2.345))
>>> some string 1.12 & 2.35