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

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

Susan Sarandon
リリース: 2024-11-13 01:11:02
オリジナル
509 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート