2

在 python 中,该函数math.log(1000, 10)返回
2.9999999998 或某个近似值(几乎每三个整数都会这样做)

这首先有点搞砸了,尽管我想没有太多(除法测试除外)可以做。
其次,这当然不是我想要的价值,我应该如何进行?转换为 int 显然会返回 2 而不是 3... 那么使用什么方法将舍入到最近的 int 呢?在这种情况下,一般来说,请。

4

1 回答 1

1

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

我喜欢的两个选项:

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

在更一般的情况下,round(math.log(1000, 10)) 会将 2.999... 舍入为整数 3,因此这将是所要求的更多。

于 2012-12-12T20:52:28.027 回答