一尘不染

round() 似乎没有正确舍入

javascript

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

n = 5.59
round(n, 1) # 5.6

但是,实际上,很好的旧浮点怪异现象逐渐出现,你会得到:

5.5999999999999996

出于 UI 的目的,我需要显示5.6. 我浏览了互联网,发现了一些文档,这取决于我对 Python 的实现。不幸的是,这发生在我的 Windows 开发机器和我尝试过的每台 Linux 服务器上。另请参见此处

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


阅读 106

收藏
2022-04-25

共1个答案

一尘不染

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

'%.1f' % round(n, 1) # Gives you '5.6'
2022-04-25