round()函数的文档指出,您为其传递了一个数字,并将小数点后的位置传递给四舍五入。因此,它 应该 这样做:
n = 5.59 round(n, 1) # 5.6
但是,实际上,良好的旧浮点怪异现象不断蔓延,您会得到:
5.5999999999999996
出于UI的目的,我需要显示5.6。我在互联网上闲逛,发现一些文档取决于我对Python的实现。不幸的是,这在我的Windows开发机和我尝试过的每台Linux服务器上都会发生。另请参阅此处。
5.6
除了创建自己的回合库之外,还有什么办法可以解决?
我不知道它的存储方式,但至少格式化正确:
'%.1f' % round(n, 1) # Gives you '5.6'