首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检查字符串输入是否为数字?

如何检查字符串输入是否为数字?
EN

Stack Overflow用户
提问于 2011-03-25 03:51:53
回答 24查看 705.3K关注 0票数 157

如何检查用户输入的字符串是否为数字(例如-101等)?

代码语言:javascript
复制
user_input = input("Enter something:")

if type(user_input) == int:
    print("Is a number")
else:
    print("Not a number")

上面的方法不起作用,因为input总是返回一个字符串。

EN

回答 24

Stack Overflow用户

回答已采纳

发布于 2011-03-25 03:53:48

只需尝试将其转换为int类型,然后在不起作用时退出。

代码语言:javascript
复制
try:
    val = int(userInput)
except ValueError:
    print("That's not an int!")

请参见Handling Exceptions https://docs.python.org/3/tutorial/errors.html#handling-exceptions

票数 279
EN

Stack Overflow用户

发布于 2011-03-25 03:54:34

显然,这不适用于负值,但适用于正数。

使用isdigit()

代码语言:javascript
复制
if userinput.isdigit():
    #do stuff
票数 98
EN

Stack Overflow用户

发布于 2015-09-06 03:16:42

方法isnumeric()将完成这项工作(Documentation for python3.x):

代码语言:javascript
复制
>>>a = '123'
>>>a.isnumeric()
True

但请记住:

代码语言:javascript
复制
>>>a = '-1'
>>>a.isnumeric()
False

如果字符串中的所有字符都是数字字符,并且至少有一个字符,则isnumeric()返回True。

所以负数是不被接受的。

票数 52
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5424716

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档