「Python3」文字列が数字かどうか判定するサンプル
構文
unicodedata.numeric(chr[, default])
文字 chr に割り当てられている数値を、float で返します。この値が定義されていない場合には default が返されますが、この引数が与えられていなければ ValueError を発生させます。
サンプルコード
# -*- coding: UTF-8 -*- def is_number(s): try: float(s) return True except ValueError: pass try: import unicodedata unicodedata.numeric(s) return True except (TypeError, ValueError): pass return False # 文字列と数値 print(is_number('abcde')) print(is_number('4')) print(is_number('5.6')) print(is_number('-7.48')) print(is_number('1e3')) #Unicode テスト print(is_number('©'))
実行結果
False
True
True
True
True
False