1. ホーム
  2. python

Python 3でint()とfloor()の違いは何ですか?

2023-09-07 19:56:11

質問

Python 2 では。 floor() は float 値を返しました。私にとっては明白ではありませんが、私は、なぜ floor() は float を返す (例えば float('inf')float('nan') ).

しかし、Python 3では floor() は整数を返します(前に述べた特別なケースの場合はオーバーフローエラーを返します)。

では、もし違いがあるとすれば int()floor() を使うようになったのですか?

どのように解決するのですか?

floor() ラウンド . int() は切り捨てます . 負の数を使うと、その差は歴然です。

>>> import math
>>> math.floor(-3.5)
-4
>>> int(-3.5)
-3

負の数を切り捨てると0から遠ざかり、切り捨てると0に近づく。

別の言い方をすれば floor() は常にオリジナルより低いか等しくなる。 int() はゼロかイコールに近くなる。