浮動小数点値が整数かどうかを確認する
浮動小数点値を扱う場合、多くの場合、数値が整数であるかどうかを判断する必要があります。実際には整数 (整数とも呼ばれます) です。これは、整数立方根の検索など、さまざまなプログラミング シナリオで特に役立ちます。
整数性をチェックする 1 つのアプローチは、float を文字列に変換し、最後の文字を検査することです。しかし、これは面倒だと考えられています。より効率的な方法は、Python 2.6 で導入された float.is_integer() メソッドを利用することです。
>>> (1.0).is_integer() True >>> (1.555).is_integer() False
キューブ ルート検索に is_integer() を使用する
整数である 12,000 未満の最大の立方根を見つけるコンテキストでは、ループを次のように調整できます。
for n in range(12000, -1, -1): # Iterate in reverse order if (n ** (1.0/3)).is_integer(): # Check for integerness print(n)
このループは次の結果を返します:
27 8 1 0
精度に関する考慮事項
浮動小数点演算では精度が生じる可能性があることに注意することが重要です問題。たとえば、Python 2 の 1/3 はフロア除算により 0 になりますが、浮動小数点数は正確な値ではなく 2 進分数を使用して実数を近似します。
これらの不正確さを考慮するには、ループを調整できます。整数に近い数値をチェックするか、数値の検索に float() を使用しないようにします。あるいは、Python バージョン 3.5 以降では、 math.isclose() 関数を利用して、浮動小数点値が指定されたマージン内にあるかどうかを確認できます。
以上がPython で Float が整数かどうかを判断するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。