Home » Python » Pythonで小数点を含む数値を整数と判定する-float.is_integerメソッド

Pythonで小数点を含む数値を整数と判定する-float.is_integerメソッド

動作検証バージョン:Windows 11 Home + Python 3.10.6

Pythonのisinstance関数を使って、何らかのデータがint型かを判定できることをご紹介しました。

データが整数型であるかどうかを判定するのであればisinstance関数でいいのですが、「123.0」のような小数点以下が「0」の小数は、ininstance関数ではFalseになってしまいます。
小数点以下が「0」の場合にも整数と判定したいのであれば、別の方法を考える必要があります。

[スポンサードリンク]

小数を表すfloat型に用意されているis_integerメソッドを使うのが一案です。

float.is_integerの挙動

「isinstance(123.0, int)」はFalseですが、以下のようなfloat.is_integerメソッドを使ったコードならTrueと判定されます。

(123.0).is_integer()

なお、「123.0」をカッコでくくらない以下のようなコードでもTrueと判定されますが、

123.0.is_integer()

小数点としての「.」
メソッドの前の「.」
が紛らわしいので「(123.0).is_integer()」のほうが良さそうに感じます。

掛け算の場合

小数に掛け算をした「isinstance(1.23*100, int)」はFalseですが、以下のコードならTrueが返されます。

(1.23*100).is_integer()

指数表記の場合

指数表記にした以下のようなコードでもTrueと判定されます。

(1.23e2).is_integer()
(1.23e+2).is_integer()
[スポンサードリンク]

Home » Python » Pythonで小数点を含む数値を整数と判定する-float.is_integerメソッド

「Python」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.