精华内容
下载资源
问答
  • str字符串s字符串str.isalnum() 所有字符都是数字或者字母str.isalpha() 所有字符都是字母str.isdigit() 所有字符都是数字str.isspace() 所有字符都是空白字符、\t、\n、\r检查字符串是数字/浮点数方法float部分...

    str为字符串s为字符串

    str.isalnum() 所有字符都是数字或者字母

    str.isalpha() 所有字符都是字母

    str.isdigit() 所有字符都是数字

    str.isspace() 所有字符都是空白字符、\t、\n、\r

    检查字符串是数字/浮点数方法

    float部分

    >> float('Nan')

    nan

    >> float('Nan')

    nan

    >> float('nan')

    nan

    >> float('INF')

    inf

    >> float('inf')

    inf

    >> float('-INF')

    inf

    >> float('-inf')

    inf

    第一种:最简单

    def is_number(str):

    try:

    # 因为使用float有一个例外是'NaN'

    if str=='NaN':

    return False

    float(str)

    return True

    except ValueError:

    return False

    # float例外示例

    >>> float('NaN')

    nan

    使用complex()

    def is_number(s):

    try:

    complex(s) # for int, long, float and complex

    except ValueError:

    return False

    return True

    综合1

    def is_number(s):

    try:

    float(s) # for int, long and float

    except ValueError:

    try:

    complex(s) # for complex

    except ValueError:

    return False

    return True

    综合2-还是无法完全识别

    def is_number(n):

    is_number = True

    try:

    num = float(n)

    # 检查 "nan"

    is_number = num == num # 或者使用 `math.isnan(num)`

    except ValueError:

    is_number = False

    return is_number

    >>> is_number('Nan')

    False

    >>> is_number('nan')

    False

    >>> is_number('123')

    True

    >>> is_number('-123')

    True

    >>> is_number('-1.12')

    True

    >>> is_number('abc')

    False

    >>> is_number('inf')

    True

    第二种:只能判断是整数

    使用isnumeric()

    # str必须是uniconde模式

    >>> str = u"345"

    >>> str.isnumeric()True

    http://www.tutorialspoint.com/python/string_isnumeric.htm

    使用isdigit()

    https://docs.python.org/2/library/stdtypes.html#str.isdigit

    >>> str = "11"

    >>> print str.isdigit()

    True

    >>> str = "3.14"

    >>> print str.isdigit()

    False

    >>> str = "aaa"

    >>> print str.isdigit()

    False

    使用int()

    def is_int(str):

    try:

    int(str)

    return True

    except ValueError:

    return False

    第三种:使用正则(最安全方法)

    import re

    def is_number(num):

    pattern = re.compile(r'^[-+]?[-0-9]\d*\.\d*|[-+]?\.?[0-9]\d*$')

    result = pattern.match(num)

    if result:

    return True

    else:

    return False

    >>>: is_number('1')

    True

    >>>: is_number('111')

    True

    >>>: is_number('11.1')

    True

    >>>: is_number('-11.1')

    True

    >>>: is_number('inf')

    False

    >>>: is_number('-inf')

    False

    展开全文
  • python如何判断整数和浮点数

    万次阅读 2018-12-20 14:30:53
    首先是解决我问题的方法,使用isinstance(i,float/int)判断: i=9,j=1.3 >>isinstance(i,int) >>True >>isinstance(i,float) >>False >>...

    今天碰见了这个问题,于是整理一下分享出来

    首先是解决我问题的方法,使用isinstance(i,float/int)判断:

    i=9,j=1.3
    >>isinstance(i,int)
    >>True
    >>isinstance(i,float)
    >>False
    >>isinstance(j,float)
    >>True

    第二种type(eval(s))==int/float判断

    s='sda'

    b='123'

    >>if type(eval(s)== int/float

    但是eval只能用于字符串或者对象

     

    第三种使用isdight()函数判断

    >>i.isdight()
    >>True

     

     

     

    展开全文
  • >>> (1.0).is_integer()True>>> (1.555).is_integer()False该方法已添加到floatPython 2.6中的类型。考虑到在Python 2中,1/3是0(整数操作数的分区!),浮点运算可能不精确(a float是使用二进制分数的近似值,而...

    >>> (1.0).is_integer()True>>> (1.555).is_integer()False

    该方法已添加到floatPython 2.6中的类型。

    考虑到在Python 2中,1/3是0(整数操作数的分区!),浮点运算可能不精确(a float是使用二进制分数的近似值,而不是精确的实数)。但是稍微调整一下你的循环会给出:>>> for n in range(12000, -1, -1):... if (n ** (1.0/3)).is_integer():... print n... 27810

    这意味着由于上述不精确的原因,超过3立方(包括10648)的任何东西都被遗漏了:>>> (4**3) ** (1.0/3)3.9999999999999996>>> 10648 ** (1.0/3)21.999999999999996

    您必须检查接近整个号码的号码,或者不用float()来查找您的号码。就像舍入以下的立方根12000:>>> int(12000 ** (1.0/3))22>>> 22 ** 310648

    如果您使用的是Python 3.5或更高版本,则可以使用该math.isclose()函数查看浮点值是否在可配置的边距内:>>> from math import isclose>>> isclose((4**3) ** (1.0/3), 4)True>>> isclose(10648 ** (1.0/3), 22)True

    对于旧版本,PEP485中提到的该函数的初始实现(跳过错误检查并忽略无穷大和NaN):def isclose(a, b, rel_tol=1e-9, abs_tol=0.0):

    return abs(a - b) <= max(rel_tol * max(abs(a), abs(b)), abs_tol)

    展开全文
  • Python的整数与浮点数Python中,整数和浮点数虽然属于不同的数值类型,但是在运算上是可以一起运算的,这从生活经验出发,也是可以理解的。 1、四则运算: 整数、浮点数可以直接进行四则运算。 加法 num1 = 10 ...

    Python的整数与浮点数

    1、四则运算:
    整数、浮点数可以直接进行四则运算。

    加法

    num1 = 6
    num2 = 0.5
    result = num1 + num2
    print(result) # ==> 6.5
    

    减法

    result = num1 - num2
    print(result) # ==> 5.5
    

    乘法

    result = num1 * num2
    print(result) # ==> 3.0
    

    除法

    result = num1 / num2
    print(result) # ==>12.0
    

    从上面可以发现一个规律,整数和浮点数运算后 ,得到的结果不管小数点后是否有值,结果都变成浮点数了,这是合理的,浮点数可以表达整数的结果,但是整数不能表达浮点数的结果。

    注意:在Python2使用除法可能和Python3得到不一样的结果。

    python2

    num1 = 10
    num2 = 3
    result = num1 / num2
    print(result) # ==> 3
    

    python3

    num1 = 10
    num2 = 3
    result = num1 / num2
    print(result) # ==> 3.3333333333333335
    

    可以看到在python2,得到的是一个整数的结果,这是因为除数和被除数都是整数时,得到的结果也默认保存为整数了,这是非常不科学的,因此在python3,改进了这一点。

    2、取模运算:

    Python数字支持取模运算,使用百分号%表示取模。
    print(3 % 2) # ==> 1
    print(33 % 10) # ==> 3
    print(99 % 30) # ==> 9
    恰当使用取模运算,可以判断一个数是否为偶数,当一个数对2取模结果为0时,则这个数为偶数,否则为奇数。
    print(3 % 2) # ==> 1 因此3为奇数
    print(33 % 2) # ==> 1 因此33为奇数
    print(100 % 2) # ==> 0 因此100为偶数
    

    3、地板除:

    Python除了普通除法以外,还有一个特殊的除法被称为地板除,对于地板除,得到的结果会忽略纯小数的部分,得到整数的部分,地板除使用//进行。
    10//4 # ==> 2
    10//2.5 # ==> 4.0
    10//3 # ==> 3
    

    4、小数点位数:
    使用Python计算小数的时候,经常需要保留小数点后若干位,可以使用round()函数来处理,这里先了解round的调用方式,使用两个参数,第一个是需要保留小数点位数的数值,第二个是保留的位数。

    num = 10 / 3
    print(num) # ==> 3.3333333333333335
    

    使用round保留两位小数

    round(num, 2) # ==> 3.33
    
    例子:一个长方形的长为3.14cm,宽为1.57cm,请计算这个长方形的面积,保留小数点后两位。
    num = 3.14 * 1.57
    print(num)
    round(num,2)
    
    展开全文
  • python的整数与浮点数

    2021-07-02 22:15:54
    Python中,整数和浮点数虽然属于不同的数值类型,但是在运算上是可以一起运算的 四则运算
  • 浮点数相等一直是个老生常谈的话题。今天我们借助python math模块中的isclose函数说明一下这个问题。 isclose(a, b, *, rel_tol=1e-09, abs_tol=0.0) Determine whether two floating point numbers are close in ...
  • Python判断两个浮点数的相等2021-05-11 21:52:18 +08字数:1025标签:Python如何判断两个浮点数是否相等?这是一个所有编程语言都有的小坑。在其它编程语言,使用==来判断是绝对的大忌,因为浮点数在低位会丢失...
  • Python 里面,这个加法的结果如下图所示:因为这个原因,我们显然不能直接用等号判断两个浮点数是否相等,如下图所示:在工程上,我们不要求绝对精确,只要求足够精确就可以了。所以,当我们要判断两个数是否相等...
  • Python的核心数据类型:数字(整数,浮点数,复数,布尔型)整形数 int整数是不带有小数部分的数字,包括自然数,零,负自然数如: -5 100 0 88888整形数的字面值表示方式十进制表示方式如:102009999999999999999二...
  • 1.当num确定数字后num=123.4print(isinstance(num,float))#判断是否为浮点数print(isinstance(num,int))#判断是否为整数2.当num字符串是时num=input("输入一个数字:").strip()print(type(eval(num)))#输出字符串...
  • 前言 ...判断字符串是否为数字(整形) 这个直接调用python的库就可以了哈,假设str字符串 str.isdigit() 判断所有字符都是数字(整形) 返回值 True:该字符串都数字;False:该字符串不...
  • I have a list of floating-point values in Python:floats = [3.14, 2.7, 0.0, -1.0, 1.1]I would like to write these values out to a binary file using IEEE 32-bit encoding. What is the best way to do this...
  • 什么浮点数不能直接比大小呢? 简单的来说就是计算机里面的数字是由二进制保存的,在计算机内部有些数字不能准确的保存,于是就保存一个最靠近的数字。 在十进制中也会存在这样的问题,数字不能准确地表示像1/3...
  • if float(orignal_ratio) - 0.65 >= 0 print('不能使用original_ration > 0.65')
  • str字符串s字符串str.isalnum() 所有字符都是数字或者字母str.isalpha() 所有字符都是字母str.isdigit() 所有字符都是数字str.isspace() 所有字符都是空白字符、t、n、r检查字符串是数字/浮点数方法float部分>> ...
  • str字符串s字符串str.isalnum() 所有字符都是数字或者字母str.isalpha() 所有字符都是字母str.isdigit() 所有字符都是数字str.isspace() 所有字符都是空白字符、\t、\n、\r检查字符串是数字/浮点数方法float部分...
  • 一、整数类型(int)整数就是没有小数部分的数字,Python中的整数包括正整数、0 和负整数。有些强类型的编程语言会提供多种整数类型,每种类型的长度都不同,能容纳的整数的大小也不同,开发者要根据实际数字的大小...
  • 在深入了解浮点数的实现之前,先来看几个 Python 浮点数计算有意思的例子:0.1 == 0.10000000000000000000001IEEE 浮点数表示法这些看起来违反常识的“错误”并非 Python 的错,而是由浮点数的规则所决定的,即使放...
  • str字符串s字符串str.isalnum() 所有字符都是数字或者字母str.isalpha() 所有字符都是字母str.isdigit() 所有字符都是数字str.isspace() 所有字符都是空白字符、t、n、r检查字符串是数字/浮点数方法float部分>> ...
  • 本文给大家带来三种方法基于Python判断字符串是否为字母或者数字(浮点数),非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
  • python 浮点数判断

    2020-04-17 10:30:55
    想着是不是浮点数精度的问题导致的,于是改成了abs(x - y) < 1e-7的形式果然就可以了 原因很简单,本来应该相等的两个浮点数由于计算机内部表示的原因可能略有微小的误差,这时用==就会认为它们不等。 还是...
  • Python中怎么判断一个浮点数是NaN DataFrame中NaN操作 删除DataFrame中值全为NaN或者包含有NaN的列或行? - erinapple的博客 - CSDN博客 https://blog.csdn.net/erinapple/article/details/80729726 删除pandas....
  • # 判断一个字符串是否是小数 def IsFloat(s): pattern = '^-?\d+\.?\d*$' # 匹配数字: 从头开始匹配 -0或1次 数字1或多次 .0或1次 数字0或多次 匹配到字符串末尾 match = re.match(pattern, s) return match != ...
  • 在本程序中想进行如下一个循环,并在最后一层中进行一个if判断:当ini_allocation中得元素之和1时进行下面的part。 1 for i in range(0,11): 2 ini_allocation[1] = 0.0 3 ...019620相关推荐2009-02-15 17:3...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 33,327
精华内容 13,330
关键字:

python判断是否为浮点数

python 订阅