俺言語。

自分にしか理解できない言語で書かれた備忘録

【Python】str.isdigitsは小数を判定できない罠

文字列が数値かどうか判定するstr.isdigits

"."が含まれていると数値として判定してくれない。

str.isdigits("123") 
>> True

str.isdigits("12.3")
>> False

回避方法としては簡単なものはreplaceメソッドで"."を""に置換してしまうこと。

str.isdigits("12.3".replace(".",""))
>> True

但しこれは厳密にいうと数字でない".123"や"..123"もTrueが返ってきてしまうので要注意。

この場合は正規表現を使ってやる必要があるみたい。

↓参考になったサイト
d.hatena.ne.jp