python怎么判断变量是否为数字

Cain 2011-07-26 02:48:07
表单传入一个变量v,怎么判定这个v是一个数字(整数、浮点数皆可)

...全文
62463 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
阳光岛主 2013-12-05
  • 打赏
  • 举报
回复

#!/usr/bin/python
# -*- coding:utf-8 -*-
#
# http://blog.ithomer.net

import sys
import math

# 判断是否为数字
def isNum(value):
    try:
        value + 1
    except TypeError:
        return False
    else:
        return True

# 判断是否为数字
def isNum2(value):
    try:
        x = int(value)
    except TypeError:
        return False
    except ValueError:
        return False
    except Exception, e:
        return False
    else:
        return True


def test1():
    
    a = "123abcDE"
    print a.isalnum()       # True, 所有字符都是数字或者字母

    a = "abcDE"
    print a.isalpha()       # True, 所有字符都是字母

    a = "123.3"
    print a.isdigit()       # False, 所有字符都是数字

    a = "abcde"
    print a.islower()       # True, 所有字符都是小写

    a = "ABCDE"
    print a.isupper()       # True, 所有字符都是大写

    a = "Abcde"
    print a.istitle()       # True, 所有单词都是首字母大写,像标题

    a = "\t"
    print a.isspace()       # True, 所有字符都是空白字符、\t、\n、\r

    arr = (1, 2.1, -3, -4.5, '123a', 'abc', 'aBC', 'Abc', 'ABC', '\t')
    for a in arr:
        print a,isNum(a)

    '''
    1 True
    2.1 True
    -3 True
    -4.5 True
    123a False
    abc False
    aBC False
    Abc False
    ABC False
        False
    '''

    for a in arr:
        print a,isNum2(a)
    '''
    1 True
    2.1 True
    -3 True
    -4.5 True
    123a False
    abc False
    aBC False
    Abc False
    ABC False
        False
    '''

「已注销」 2013-12-04
  • 打赏
  • 举报
回复
s为字符串 s.isalnum() 所有字符都是数字或者字母 s.isalpha() 所有字符都是字母 s.isdigit() 所有字符都是数字 s.islower() 所有字符都是小写 s.isupper() 所有字符都是大写 s.istitle() 所有单词都是首字母大写,像标题 s.isspace() 所有字符都是空白字符、\t、\n、\r
大黄鸭在发光 2011-07-28
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 sunming2008 的回复:]
正则表达式吧
[/Quote]
看着奢扣 2011-07-27
  • 打赏
  • 举报
回复
正则表达式吧
I_NBFA 2011-07-27
  • 打赏
  • 举报
回复

val = "11.48";
try:
float(val);
except(ValueError):
print("its no a float\n");

Cain 2011-07-27
  • 打赏
  • 举报
回复
isdigit没办法判断浮点数啊
Inpool 2011-07-27
  • 打赏
  • 举报
回复
def isNum(value):
try:
value + 1
except TypeError:
return False
else:
return True
CDSoftwareWj 2011-07-26
  • 打赏
  • 举报
回复
使用字符串的isdigit()方法
loveisbug 2011-07-26
  • 打赏
  • 举报
回复
string 里面的函数isdigit(),可以判断是不是数字。
或者,采用type(1)==int。

37,744

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧