在python中检查字符串是不是为数字[重复]

Posted

技术标签:

【中文标题】在python中检查字符串是不是为数字[重复]【英文标题】:checking string is number or not in python [duplicate]在python中检查字符串是否为数字[重复] 【发布时间】:2014-02-22 08:31:03 【问题描述】:

以下哪项是检查字符串是否可以表示为数字的最佳方法?

一)

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()

【问题讨论】:

这应该会有所帮助:***.com/questions/354038/… 【参考方案1】:

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

【讨论】:

【参考方案2】:

你可以使用这个 Python 代码,它会发现字符串是数字或浮点值。

def typeofvalue(text):
    try:
        int(text)
        return 'int'
    except ValueError:
        pass

    try:
        float(text)
        return 'float'
    except ValueError:
        pass

    return 'str'

typeofvalue("1773171")

【讨论】:

以上是关于在python中检查字符串是不是为数字[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在python中检查字符串是不是为空[重复]

检查字符串是不是为有效数字的逻辑[重复]

JavaScript - 如何检查是不是在数字输入字段中输入了字母字符或符号[重复]

Python检查元组的任何项目是不是在字符串中[重复]

python如何检查字符串是不是是字符串列表的元素[重复]

如何检查一个字符串在 python 中是不是有多个特定字符。示例字符串“mood”显然有两个“o”字符[重复]