Discuss / Python / (3)

def str2float(s):

    index=s.index('.')

    mi=s[index+1:]

    max=s[0:index]

    def char2float(s):

        digits={'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9}

        return digits[s]

    def f(x,y):

        return 10*x +y

    return reduce(f,map(char2float,max)) + (reduce(f,map(char2float,mi))/(10**(len(s)-index-1)))


  • 1

Reply