在Python中检查字符串是否为数字

44 浏览
0 Comments

在Python中检查字符串是否为数字

这个问题已经有了答案

如何检查一个字符串是否表示为数字(浮点数或整数)?

以下哪种方式是检查一个字符串是否能够表示为数字的最佳方式?

a)

def is_number(s):
  try:
    float(s)
    return True
  except ValueError:
    return False

b)

Import re
check_regexp = re.compile(“^\d*\.?\d*$”)

c)

def isNumber(token):
  for char in token:
  if not char in string.digits: return false
    return True

d)

import re
check_replace = lambda x: x.replace(‘.’,’’,1).isdigit()

admin 更改状态以发布 2023年5月23日
0
0 Comments

你可以使用这段 Python 代码,它将判断字符串是数字还是浮点数。

def typeofvalue(text):
    try:
        int(text)
        return 'int'
    except ValueError:
        pass
    try:
        float(text)
        return 'float'
    except ValueError:
        pass
    return 'str'
typeofvalue("1773171")

0
0 Comments

这四个版本做的事情不同。由于第一个版本是唯一一个正确处理负数的版本,几乎在所有情况下我都会选择它。即使其他版本被调整为返回与第一个版本相同的值,为了清晰起见,我仍然会选择第一个版本。然而,如果输入的格式需要比 float 接受的更严格,可能不允许像 '123e+4' 这样的输入,则正确编写的正则表达式可能是最简单的解决方案。

0