python整数近似

时间:2012-12-11 23:01:14

标签: math python-3.2

在python中,函数math.log(1000, 10)返回
2.9999999998或一些近似值(neraly每三个整数都这样)

这首先是搞砸了,即使我想也没有太多(除了可分性测试)。左右。 其次,这不是我想要的价值,我该怎么办?转换为int将清楚地返回2而不是3 ...那么使用什么方法来获得舍入到最近的int?在这种情况下,一般情况下,请。

1 个答案:

答案 0 :(得分:1)

有人在我接受之前删除了他/她的答案,所以我写了我的答案,这只不过是一个总结。

我喜欢的两个选项:

在这种特殊情况下,由于操作是math.log(1000, 10),因此可以用math.log10(1000)替换,显示更高的精度。

在更一般的情况下,round(math.log(1000,10))会将2.999 ...舍入到整数3,所以这会更多地被问到。