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'