この記事では、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()
メソッドや正規表現、数値型のチェック、小数点以下の桁数の確認方法を紹介しました。
これらの方法を組み合わせて、柔軟に数値の判定を行うことができます。