イントロダクション
この記事では python の isdecimal() メソッドを紹介します。
与えられた文字列が数字、特に10進数を含むかどうかをチェックしたい場合はどうしたらよいでしょうか。
これは、文字列を整数や浮動小数点数などの他の数値型に変換する必要がある場合に起こり得ます。
この問題を解決するために、Pythonには isdecimal() というチェックメソッドが組み込まれています。
このメソッドを詳しく調べて、メソッドがどのように動作し、どのように使用できるかを理解しましょう。
Python isdecimal() メソッドの基礎知識
一般に、Python の isdecimal() メソッドは、指定された文字列のすべての文字が10進数かどうかを直接チェックします。
もしそうなら、このメソッドは true を返し、そうでないなら false を返します。
Python isdecimal() メソッドの構文
Python の isdecimal() メソッドの構文とその使い方について説明します。
status = str.isdecimal( )
|
ここで
- ここで、
strは10進文字のみから構成されているかどうかを調べる文字列です。 -
statusにはisdecimal()メソッドが返す値が格納される。これは、すべての10進文字に対して真であり、そうでない場合は偽です。
注意: ここでは、status は単に true か false のどちらかを保持するので、 bool という型になります。
この記事もチェック:Pythonでstripメソッドを使って文字列をトリミングする3つの方法
isdecimal() メソッドの基本的な例
ここでは、Python の文字列に対する isdecimal() メソッドの使い方を説明します。
string1="1010"
print("String is: ",string1)
print("Result: ",string1.isdecimal())
string2="a10101"
print("String is: ",string2)
print("Result: ",string2.isdecimal())
|
結果は以下の通りです。
String is: 1010
Result: True
String is: a10101
Result: False
|
ここで
- String1 はすべて 10 進文字で構成されています。したがって、
string1.isdecimal()文はTrueという結果を返します。 - 一方、string2 には ‘a’ という文字が含まれています。一方、string2 には ‘a’ という文字があります。string2 はすべての 10 進文字で構成されていないため、この場合の結果は
Falseです。
注意:Python の isdecimal() メソッドは、分数、下付き文字、上付き文字、その他の Unicode で実装された文字を 10 進文字または数字文字として考慮しません。
したがって、文字列中にこれらの数値文字が存在する場合、このメソッドは False を返します。
Python isdecimal() の動作について
Python の文字列を扱うメソッド isdecimal() がどのように動作し、何を返すかを説明します。
# . is not considered as decimal characterstring1="55.55"
print("String is: ",string1)
print("Result: ",string1.isdecimal())
#Pure character stringstring2="Python"
print("String is: ",string2)
print("Result: ",string2.isdecimal())
#U+2082 unicode for subscript 2string3="222u2082"
print("String is: ",string3)
print("Result: ",string3.isdecimal())
#U+2074 unicode for superscript 4string4="34u2074"
print("String is: ",string4)
print("Result: ",string4.isdecimal())
#U+2152unicode for 1/10 fractionstring5="10u2152"
print("String is: ",string5)
print("Result: ",string5.isdecimal())
#@ not considered as decimal characterstring6="@1234"
print("String is: ",string6)
print("Result: ",string6.isdecimal())
|
結果は以下の通りです。

上のコードでは
- 文字列1に対して、
isdecimal()メソッドはfalseを返します。これは、数字の間にドット(.)文字があるためです。このメソッドは、この文字を10進文字ではないと判断します。 - 文字列2についても、文字列は完全に、あるいは純粋に文字だけで構成されているため、このメソッドは
falseという結果を返します。 - 文字列3、文字列4、文字列5のすべての文字列についてです。これらの文字列はすべて、数字以外の文字に対応する Unicode 値を含んでいるので、
isdecimal()メソッドはfalseを返します。 - これは、文字列が ‘@’ 文字を含んでおり、それがまた非十進文字であるためです。
まとめ
この記事では、Python の組み込み文字列 isdecimal() メソッドについて、その使用方法と動作について学びました。
何か質問があれば、以下にコメントしてください。