2

Python では、関数は 2.9999999998 または近似値をmath.log(1000, 10)返します (ほとんどの場合、3 番目の整数ごとにそれが行われます)。

それについて行うことはあまりないと思いますが(割り切れるテストを除いて)、まずこれはちょっとめちゃくちゃです。
そして第二に、もちろんそれは私が望む値ではありません。どうすればよいですか?int へのキャストは明らかに 3 ではなく 2 を返します。この場合、一般的にお願いします。

4

1 に答える 1

1

私がそれを受け入れる前に誰かが彼/彼女の答えを削除したので、要約に過ぎない私のものを書きます。

私が気に入った2つのオプション:

この特定のケースでは、操作がであったため、はるかに高い精度を示すmath.log(1000, 10)に置き換えることができます。math.log10(1000)

より一般的なケースでは、 round(math.log(1000, 10)) は 2.999... を整数 3 に丸めるので、これは要求されたものになります。

于 2012-12-12T20:52:28.027 に答える