Python 判斷字串是否為數字
以下實例通過創建自定義函數 is_number() 方法來判斷字串是否為數字:
實例(Python 3.0+)
# -*- coding: UTF-8 -*-
# Filename : test.py
# author by : www.xuhuhu.com
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('foo')) # False
print(is_number('1')) # True
print(is_number('1.3')) # True
print(is_number('-1.37')) # True
print(is_number('1e3')) # True
# 測試 Unicode
# 阿拉伯語 5
print(is_number('٥')) # True
# 泰語 2
print(is_number('๒')) # True
# 中文數字
print(is_number('四')) # True
# 版權號
print(is_number('©')) # False
我們也可以使用內嵌 if 語句來實現:
執行以上代碼輸出結果為:
False True True True True True True True False
更多方法
Python isdigit() 方法檢測字串是否只由數字組成。
Python isnumeric() 方法檢測字串是否只由數字組成。這種方法是只針對unicode對象。