在 python 中,函数 math.log(1000, 10)
返回
2.9999999998 或某个近似值(通常每三个整数都会这样做)
虽然我认为没有太多(除了可分性测试)可以做,但首先有点困惑。
其次这当然不是我想要的值(value),我应该如何进行?强制转换为 int 显然会返回 2 而不是 3 ...那么使用什么方法来使轮到最近的 int?在这种情况下和一般情况下,请。
最佳答案
有人在我接受之前删除了他/她的答案,所以我写下我的,这不过是一个总结。
我喜欢的两个选项:
在这种特殊情况下,由于操作是 math.log(1000, 10)
,因此可以将其替换为 math.log10(1000)
,后者显示出更大的精度。
在更一般的情况下,round(math.log(1000, 10)) 会将 2.999... 舍入为整数 3,所以这会比要求的更多。
关于math - python整数近似,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13829962/