python判断字符串是否为数字

作者&投稿:威居 (若有异议请与网页底部的电邮联系)
python如何判断输入是字符串还是数字~

说明:
python输入的内容在内部全部为字符串,所以要判断这个字符串是否为一个数字。大多法内部函数并不能对各种形式的数据做出正确判断,例如isdigit()函数只能判断字符串是否为纯数据组成对于负数则无效了。所以可以使用float()来检测,对各种数字的表示方法都有效果。

方法代码:
#定义函数

def isnub(s):
try:
nb = float(s) #将字符串转换成数字成功则返回True
return True
except ValueError as e:
return False #如果出现异常则返回False
#测试
print(isnub('123'))
print(isnub('abc'))
print(isnub('123.123'))
print(isnub('-123.123'))

print(isnub('-1.609E-19'))
测试结果如下:
True
False
True
True
True

import string
nums = string.digits
def check(a):
if type(a) is not str:
return False
else:
for i in a:
if i not in nums:
return False
return True

使用字符串模块里面的宏定义digits,它定义了0到9等10个数字。
循环判断你给定的字符串里面的每个字符,如果发现其中一个字符不是数字就返回错误,如果遍历完了都没有发现不是数字的就返回正确

判定是否为数字方法一:

try: 

float(s) 

return True 

exceptValueError: 

pass 

try: 

importunicodedata 

unicodedata.numeric(s) 

return True 

except (TypeError

, ValueError): 

pass 

return False

方法二:普通十进制正常处理

对于非十进制还需要更复杂的方法,不过这里不讨论,只讨论普通十进制数的影响。

十进制数格式一般有以下几种(整数、小数、科学计数法):

+123        [符号位][数字]

-123.123    [符号位][小数点][数字]

+123E+123   [整数或小数][E或者D,大小写皆可][整数]



正则匹配法比较严谨一些,你说的数字有没有条件限制?

下面是一些常用的判断各种数字的正则表达式:

    验证数字:^[0-9]*$

    验证n位的数字:^\d{n}$

    验证至少n位数字:^\d{n,}$

    验证m-n位的数字:^\d{m,n}$

    验证零和非零开头的数字:^(0|[1-9][0-9]*)$

    验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$

    验证有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$

    验证非零的正整数:^\+?[1-9][0-9]*$

    验证非零的负整数:^\-[1-9][0-9]*$

    验证非负整数(正整数 + 0) ^\d+$

    验证非正整数(负整数 + 0) ^((-\d+)|(0+))$

确定后使用python的re模块来匹配正则

写个小例子:

import re

p1=re.compile('^[0-9]*$') 
number = p1.match(value) 
if number:
    print "yes"
else:
    print "no"

希望我的回答可以帮到你:-)



import stringnums = string.digitsdef check(a): if type(a) is not str: return False else: for i in a: if i not in nums: return False return True使用字符串模块里面的宏定义digits,它定义了0到9等10个数字。循环判断你给定的字符串里面的每个字符,如果发现其中一个字符不是数字就返回错误,如果遍历完了都没有发现不是数字的就返回正确

str.isdigit()
是数字会显示True
不是会显示False

方法有很多,你的具体应用情形是什么?

是不是判断用户输入的字符是否为数字,参考:

try:
    input_num = float(input_str)
except:
    print 'Not a number.'



Python教程(7)——一文弄懂Python字符串操作(上) |字符串查找|字符串...
在 Python 中,字符串查找是非常基础的功能,有几种常用的方法可以用来查找字符串中的子串或特定字符:使用 in 关键字。可以判断一个字符串是否包含另一个子串,这种方式简单方便,在编程当中经常会被用到。使用 find() 方法。可以返回子串在字符串中第一次出现的索引值。如果找不到子串,返回 -1。in...

python 判断字符串是不是字母
函数:startswith()作用,判断字符串是否以指定字符或子字符串开头。一、函数说明语法:string.startswith(str, beg=0,end=len(string))或string[beg:end].startswith(str)参数说明:string: 被检测的字符串。str: 指定的字符或者子字符串。(可以使用元组,会逐一匹配)。beg: 设置字符串...

python 判断是 数字还是字符
说明: python输入的内容在内部全部为字符串,所以要判断这个字符串是否为一个数字。大多法内部函数并不能对各种形式的数据做出正确判断,例如isdigit()函数只能判断字符串是否为纯数据组成对于负数则无效了。所以可以使用float()来检测,

python判断字符串(string)是否包含(contains)子字符串的方法的代码_百...
下边内容是关于python判断字符串(string)是否包含(contains)子字符串的方法的内容。方法2:使用find函数实现contains的功能 s = "This be a string"if s.find("is") == -1:    print "No 'is' here!"else:    print "Found 'is' in the string."

python 判断字符串中是否含有英文
使用isalpha()方法来进行判断。Python isalpha() 方法检测字符串是否只由字母组成。如果字符串至少有一个字符并且所有字符都是字母则返回 True,否则返回 False。isalpha()方法要检测的字符。它可以是一个有效的字符(被转换为 int 类型),也可以是 EOF(表示无效的字符)。

python如何判断输入是字符串还是数字
用isnumeric()方法。isnumeric() 方法检测字符串是否只由数字组成,如果字符串中只包含数字字符,则返回 True,否则返回 False

python字符串a为"hello",字符串b为"#2#lisaend"。判断字符串b中是否...
原题:字符串a为”Hello”,字符串b为”#2#Lisaend”。判断字符串b中是否含有“#2#”,如果有,则将字符串a与字符串b中“#2#”与“end”之间的字符串用空格连接起来,然后输出。输出“biubiubiu”参考示例[python3]:a = "Hello"b = "#2#Lisaend"if( "#2#" in b) :i=b.find('...

python判断字符串是否有相等的字符
这里面有几种空的表示: None是一个空的对象,代表什么都没有; '',是一个字符串对象,代表一个空的字符串; 这两者是有区别的,下面举例具体说明: reaCode = Noneif ( reaCode == None ): print "is null"if ( reaCode is None ): print "is ...

python怎么判断变量是否为字符串
Python中的数据类型有数字、字符串,列表、元组、字典、集合等。有两种方法判断一个变量的数据类型。两种方法:第一种方法:第二种方法:

Python正则表达式判断一个字符串末尾有无加号,代码怎么写?
1.str="abcd+"if str[-1] == "+": print "yes"else: print "no"2. str="abcd+" print "yes" if str[-1] == "+" else "no"

遵义市17029284112: Python中,如何判断字符串是由纯数字组成? -
骑澜蛇胆: Python中提供了3个判断字符串的方法. 分别是: 字符串.isdecimal() 字符串.isdigit() 字符串.isnumeric() 这三个方法都可以判断字符串是否是由纯阿拉伯数字构成,即0-9组成的数字.这三个方法的区别: 字符串.isdecimal() :只能...

遵义市17029284112: python 判断是否是数字 -
骑澜蛇胆: python的字符串类型有一个属性isdigit可以判断是否为数字假设设置了一个变量a,则选择把a转换成字符串,再判断 代码如下: a=123 print(str(a).isdigit()) 如果变量a是数字,则返回True,否则返回False

遵义市17029284112: python字符串判断是否有数字 -
骑澜蛇胆: 用正则来判断,正则表达式可以这么写[0-9],表示只要匹配到0-9这几个数字,就表示字符串中有数字

遵义市17029284112: python判断字符串是否为数字 -
骑澜蛇胆: 正则匹配法比较严谨一些,你说的数字有没有条件限制? 下面是一些常用的判断各种数字的正则表达式: 验证数字:^[0-9]*$验证n位的数字:^\d{n}$验证至少n位数字:^\d{n,}$验证m-n位的数字:^\d{m,n}$验证零和非零开头的数字:^(0...

遵义市17029284112: python 怎么判断字符串是不是数字 -
骑澜蛇胆: isdigit()

遵义市17029284112: python 怎么判断一个字符是不是数字 -
骑澜蛇胆: def is_num(s):try:num=float(s)return Trueexcept:return Falseprint(is_num('123.4')) print(is_num('1abc2'))

遵义市17029284112: Python中判断字符串是否为数字,解决了加分 -
骑澜蛇胆: import string nums = string.digits def check(a): if type(a) is not str: return False else: for i in a: if i not in nums: return False return True 使用字符串模块里面的宏定义digits,它定义了0到9等10个数字.循环判断你给定的字符串里面的每个字符,如果发现其中一个字符不是数字就返回错误,如果遍历完了都没有发现不是数字的就返回正确

遵义市17029284112: python如何判定字符串的前几个字符是不是数字 -
骑澜蛇胆: str="123abcd" str[:3].isdigit() 判断字符串前面3个字符是不是数字 先用[:位置值]切片,然后用isdigit判断是否数字

遵义市17029284112: python3 判断一个字符串是不是数字 -
骑澜蛇胆: def scanslash(): s="\u5173" for i in range(6):if s[i]=='\\': print "@", else: print s[i],scanslash() 结果:

遵义市17029284112: python中判断输入的字符串为数字? -
骑澜蛇胆: if b.isdigit(): 改成 if b.replace('.', '', 1).isdigit():

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网