round() 函数的文档指出您传递一个数字,并将小数点后的位置四舍五入。因此它应该这样做:

n = 5.59
round(n, 1) # 5.6

但是,实际上,很好的旧浮点怪异现象悄悄出现,您会得到:
5.5999999999999996

出于用户界面的目的,我需要显示 5.6 。我在网上翻了一下,发现有一些 documentation 这取决于我对 Python 的实现。不幸的是,这发生在我的 Windows 开发机器和我尝试过的每台 Linux 服务器上。 See here also

没有创建我自己的圆形库,有什么办法可以解决这个问题吗?

最佳答案

我无法帮助它的存储方式,但至少格式化工作正常:

'%.1f' % round(n, 1) # Gives you '5.6'

关于python - round() 似乎没有正确舍入,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56820/

10-12 20:24