from functools import reduce def str2float(s): if not isinstance(s,str): print('错误,请输入str') return None inx = s.index('.') s = s.replace('.','') length = len(s) print(inx, length) il = length - inx def fn(x, y): return x * 10 + y def char2num(num): s = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}[num] return s return reduce(fn, map(char2num, s)) / 10**il
话说为啥不直接float('123.456')
float('123.456')
Sign in to make a reply
世界树下毛毛虫
话说为啥不直接
float('123.456')