转载自:牛牛杂货铺
最近在写代码的时候,发现一个问题,想判断一个字符串是不是一个合法的小数,发现字符串没有内置判断小数的方法,然后就写了一个判断字符串是否是小数,可以判断正负小数,代码如下:
1 def check_float(string): 2 str1 = str(string) 3 if str1.count('.')>1:#判断小数点是不是大于1 4 return False 5 elif str1.isdigit(): 6 return False#判断是不是整数 7 else: 8 new_str = str1.split('.')#按小数点分割字符 9 frist_num = new_str[0]]#取分割完之后这个list的第一个元素 10 if frist_num.count('-')>1:#判断负号的格数,如果大于1就是非法的 11 return False 12 else: 13 frist_num = frist_num.replace('-','')#把负号替换成空 14 if frist_num.isdigit() and new_str[1].isdigit(): 15 #如果小数点两边都是整数的话,那么就是一个小数 16 return True 17 else: 18 return False 19 print(check_float('-1.5'))