def isfloat(numstr, finite=True, nan=False): """ floatかどうかをチェックする. numstr: 文字列, finite: 有限のみを許容するか, nan: NaNを許容するか """ # NaNチェック if (not nan) and numstr == 'nan': return False if finite and numstr in ('Infinity','inf'): return False try: num = float(numstr) return True except ValueError: return False except OverflowError: return False
Python3 str.isnumeric()のfloat版
なぜか用意されていない。
isnumeric()では小数の判断ができない。
isfloat()みたいなのが欲しかった。
結局、以下のような関数を定義した。
コメント