【Python】小数を含む数値か判定する方法

この記事では、Pythonを使って小数を含む数値かを判定する方法を紹介します。

isdigit()メソッドや正規表現、数値型のチェック、小数点以下の桁数の確認方法を学びましょう。

目次から探す

Pythonで小数を含む数値か判定する方法

isdigit()メソッドを使用する方法

Pythonの文字列オブジェクトには、isdigit()メソッドが用意されており、これを使用することで文字列が数値のみで構成されているかを判定することができます。

小数点やマイナス記号が含まれる場合はFalseを返します。

num1 = "123"
num2 = "3.14"
num3 = "-42"

print(num1.isdigit())  # True
print(num2.isdigit())  # False
print(num3.isdigit())  # False

正規表現を用いる方法

正規表現を使うことで、より柔軟に数値のパターンを判定することができます。

以下の正規表現パターンを使用して、小数を含む数値かどうかを判定する例を示します。

import re

def is_decimal_number(input_str):
    pattern = r'^[-+]?[0-9]*\.[0-9]+$'
    return bool(re.match(pattern, input_str))

num1 = "123"
num2 = "3.14"
num3 = "-42"

print(is_decimal_number(num1))  # False
print(is_decimal_number(num2))  # True
print(is_decimal_number(num3))  # False

数値型をチェックする方法

Pythonではfloat型を使用して小数を表現します。

文字列が数値型に変換可能かどうかをチェックすることで、小数を含む数値かを判定することができます。

def is_decimal_number(input_str):
    try:
        float(input_str)
        return True
    except ValueError:
        return False

num1 = "123"
num2 = "3.14"
num3 = "-42"

print(is_decimal_number(num1))  # True
print(is_decimal_number(num2))  # True
print(is_decimal_number(num3))  # True

小数点以下の桁数を確認する方法

小数点以下の桁数を確認するには、小数点以下の桁数を取得する方法があります。

以下は小数点以下の桁数を取得するサンプルコードです。

def get_decimal_places(input_str):
    if '.' in input_str:
        return len(input_str.split('.')[1])
    else:
        return 0

num1 = "123"
num2 = "3.14"
num3 = "42.345"

print(get_decimal_places(num1))  # 0
print(get_decimal_places(num2))  # 2
print(get_decimal_places(num3))  # 3

これらの方法を組み合わせて、Pythonで小数を含む数値かを判定する際に役立てることができます。

終わりに

Pythonを使って小数を含む数値かを判定する方法について、isdigit()メソッドや正規表現、数値型のチェック、小数点以下の桁数の確認方法を紹介しました。

これらの方法を組み合わせて、柔軟に数値の判定を行うことができます。

目次から探す