判断一个数是否是小数
判断一个数是否是小数
判断一个数是否为小数
1、有且仅有一个小数点
2、小数点的左边可能为正数或负数
3、小数点的右边为正数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
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) |