Discuss / Python / 3

引聿土其

#1 Created at ... [Delete] [Delete and Lock User]
from functools import reduce
def str2float(s):
    n = s.index('.')
    def change(_str):
        if s.index(_str) < n:
            return int(_str)*10**(n - s.index(_str) - 1)
        elif s.index(_str) == n:
            return 0
        else:
            return int (_str)*10**(n - s.index(_str))          
    def add(x,y):
        return x + y
    return reduce(add,list(map(change,s)))
print('str2float(\'123.456\') =', str2float('123.456'))

  • 1

Reply