有沒有一種快速的方法來查找字符串是否是實數,缺少一次讀取字符並在每個字符上執行isdigit()
?我希望能夠測試浮點數,例如0.03001
。檢查字符串是否是實數
回答
如果你的意思是一個浮動的實數,這應該工作:
def isfloat(str):
try:
float(str)
except ValueError:
return False
return True
注意,這將內部仍然環路你的字符串,但這是不可避免的。
謝謝,但我需要做浮動,所以我想我可以代替try:int(str)與try:float(str)? – Illusionist 2011-05-10 20:50:45
是的。 (10字符限制大聲笑) – orlp 2011-05-10 20:51:33
*警告*:不要使用毯子'except'子句!這是一個危險的壞習慣。顯式捕獲'ValueError'。 – Santa 2011-05-10 20:55:31
>>> a = "12345" # good number
>>> int(a)
12345
>>> b = "12345G" # bad number
>>> int(b)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '12345G'
你可以這樣做:
def isNumber(s):
try:
int(s)
except ValueError:
return False
return True
如果你想有一個浮點數,通過float
更換int
(感謝@cobbal)。
也有使用正則表達式的另一種方式:
import re
def is_float(str):
if re.match(r"\d+\.*\d*", str):
return True
else:
return False
這不適用於負數。 – bfontaine 2013-11-19 23:00:37
方法來驗證實數:
def verify_real_number(item):
""" Method to find if an 'item'is real number"""
item = str(item).strip()
if not(item):
return False
elif(item.isdigit()):
return True
elif re.match(r"\d+\.*\d*", item) or re.match(r"-\d+\.*\d*", item):
return True
else:
return False
- 1. 檢查字符串是否有數字
- 2. 函數檢查字符串是否有
- 3. 檢查參數是否爲字符串
- 4. 檢查數組是否有字符串?
- 5. 檢查字符串是否是Spotify URL
- 6. 檢查字符串是否包含字(不是子字符串!)
- 7. 檢查字符串是否是子字符串
- 8. PHP檢查字符串是否包含數字和檢查字符串長度
- 9. 檢查輸入是否是C++中的數字或字符串
- 10. cross-dbms方法來檢查字符串是否是數字
- 11. 如何檢查一個字符串是否是數字?
- 12. 檢查字符串是否是iPhone上的數字
- 13. 如何檢查.NET中的字符串是否是數字?
- 14. C - 檢查字符串是否是另一個字符串的子字符串
- 15. c# - 檢查字符串是否包含字符和數字
- 16. 檢查一個字符串是否沒有字符或數字
- 17. 檢查字符串中是否包含字符和數字
- 18. 檢查字符串是否以
- 19. 檢查字符串是否包含除
- 20. 檢查是否字符串包含「HTTP://」
- 21. 檢查字符串是否爲UTF-8
- 22. PHP檢查字符串是否在表
- 23. 檢查字符串是否有效
- 24. 檢查它是否在字符串
- 25. 檢查Enum是否包含字符串?
- 26. 檢查字符串是否爲空
- 27. 檢查NSMutableArray是否包含字符串
- 28. 檢查字符串是否爲迴文
- 29. 檢查字符串是否相同C++
- 30. 如何檢查是否字符串有
定義 「實數」。整數或浮點數?簽名或未簽名?等 – delnan 2011-05-10 20:45:48