就是遇到整数部分为0时会有点小bug,不知道怎么回事。
from functools import reduce DIGITS = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9} def str2float(s): def char2num(s): return DIGITS[s] def fn(x,y): return x*10+y i=0 s1=s s2='0' while i<len(s): if s[i]=='.': s1=s[:i] s2=s[i+1:] i=i+1 p=0 x=1 while p<len(s2): x=x*0.1 p=p+1 return reduce(fn,map(char2num,s1))+reduce(fn,map(char2num,s2))*x
Sign in to make a reply
科维扎基哈得那奇
就是遇到整数部分为0时会有点小bug,不知道怎么回事。