Python 2、floor()
はfloat値を返しました。私には明らかではありませんが、floor()
を返すことが有用な理由を明確にするいくつかの説明を見つけました。フロート(float('inf')
やfloat('nan')
などの場合)。
ただし、Python 3、floor()
は整数を返します(前述の特別な場合はオーバーフローエラーを返します)。
では、int()
とfloor()
の違いはありますか?
floor()
rounds down。 int()
切り捨て。負の数を使用すると、違いは明らかです。
_>>> import math
>>> math.floor(-3.5)
-4
>>> int(-3.5)
-3
_
負の数を切り捨てると、0から遠ざかり、切り捨てると0に近づきます。
別の言い方をすれば、floor()
は常に元の値以下になります。 int()
はゼロに近くなるか、等しくなります。