ホームページ >バックエンド開発 >Python チュートリアル >Python で Float が整数を表すかどうかを確認するには?

Python で Float が整数を表すかどうかを確認するには?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-13 01:11:02546ブラウズ

How to Check if a Float Represents an Integer in Python?

Float 値の整数の決定

このコード スニペットでは、以下の整数である最大の立方根を求めています。 12,000:

processing = True
n = 12000
while processing:
    n -= 1
    if n ** (1/3) == #checks to see if this has decimals or not

浮動小数点数かどうかを確認するにはが整数の場合は、 float.is_integer() メソッドを利用できます。

>>> (1.0).is_integer()
True
>>> (1.555).is_integer()
False

Python 2 では、整数オペランドの下限除算により 1/3 の結果は 0 になることに注意してください。また、浮動小数点演算は可能です。不正確であること。これを考慮してループを調整すると:

for n in range(12000, -1, -1):
    if (n ** (1.0/3)).is_integer():
        print n

期待した結果が得られます:

27
8
1
0

ただし、浮動小数点演算の不正確さにより、3 の 3 乗 ( 10648を含む)は省略されています。これに対処するには、代わりに整数に近い数値をチェックします:

import math

for n in range(12000, -1, -1):
    if math.isclose((n ** (1.0/3)), round(n ** (1.0/3))):
        print n

このバリエーションの出力:

10648
27
8
1
0

Python 3.5 以降では、数学を利用できます。 isclose() 関数は、浮動小数点値がカスタマイズ可能なマージン内にあるかどうかを確認します。

以上がPython で Float が整数を表すかどうかを確認するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。