一、判断一个数是否为小数
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 不是小数
标题名称:创新互联Python教程:python判断是否是小数
标题链接:http://www.csdahua.cn/qtweb/news8/383208.html
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网