有没有一种快速的方法来查找字符串是否是实数,缺少一次读取字符并在每个字符上执行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