python判断是否是小数

879次阅读
没有评论

python判断是否是小数

一、判断一个数是否为小数

1、有且仅有一个小数点

2、小数点的左边可能为正数或负数

3、小数点的右边为正数

二、实现代码

def is_float(str):
    if str.count('.') == 1: #小数有且仅有一个小数点
        left = str.split('.')[0]  #小数点左边(整数位,可为正或负)
        right = str.split('.')[1]  #小数点右边(小数位,一定为正)
        lright = '' #取整数位的绝对值(排除掉负号)
        if str.count('-') == 1 and str[0] == '-': #如果整数位为负,则第一个元素一定是负号
            lright = left.split('-')[1]
        elif str.count('-') == 0:
            lright = left
        else:
            print('%s 不是小数'%str)
        if right.isdigit() and lright.isdigit(): #判断整数位的绝对值和小数位是否全部为数字
            print('%s 是小数'%str)
        else:
            print('%s 不是小数'%str)
    else:
        print('%s 不是小数'%str)

查看结果:

30.112 是小数
-300.123 是小数
-.5 不是小数
2-1 不是小数
--11..22 不是小数
5. 不是小数
不是小数
abc.efg 不是小数
神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试

相关文章:

版权声明:wuyou2019-11-12发表,共计846字。
新手QQ群:570568346,欢迎进群讨论 Python51学习
评论(没有评论)