def str2float(s):
DIGITS = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}
def char2num(s):
return DIGITS[s]
point = s.find('.')
int_value = reduce(lambda x,y : x*10 + y,map(char2num,s[:point]))
float_value = reduce(lambda x,y : x*10 + y,map(char2num,s[point+1:]))
return int_value + float_value/pow(10,len(s[point+1:]))
Sign in to make a reply
小小瓦匠盖楼房
def str2float(s):
DIGITS = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}
def char2num(s):
return DIGITS[s]
point = s.find('.')
int_value = reduce(lambda x,y : x*10 + y,map(char2num,s[:point]))
float_value = reduce(lambda x,y : x*10 + y,map(char2num,s[point+1:]))
return int_value + float_value/pow(10,len(s[point+1:]))