在python中,函数math.log(1000, 10)
返回
2.9999999998或一些近似值(neraly每三个整数都这样)
这首先是搞砸了,即使我想也没有太多(除了可分性测试)。左右。 其次,这不是我想要的价值,我该怎么办?转换为int将清楚地返回2而不是3 ...那么使用什么方法来获得舍入到最近的int?在这种情况下,一般情况下,请。
答案 0 :(得分:1)
有人在我接受之前删除了他/她的答案,所以我写了我的答案,这只不过是一个总结。
我喜欢的两个选项:
在这种特殊情况下,由于操作是math.log(1000, 10)
,因此可以用math.log10(1000)
替换,显示更高的精度。
在更一般的情况下,round(math.log(1000,10))会将2.999 ...舍入到整数3,所以这会更多地被问到。