Discuss / Python / 把整数转化的功能也加上了

把整数转化的功能也加上了

Topic source

from functools import reduce

def str2float(s):

a=s.find('.') #查找是否有.

b=s.replace('.','') #有的话就去掉.,没有的话不改变

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

def char2num(b):

return digits[b]

def fn(x,y):

return x*10+y

if a != -1: #如有有点,计算后加上小数点

return reduce(fn,map(char2num,b))/(10**(len(b)-a))

else: #如果没有.,就是整数的计算结果

return reduce(fn,map(char2num,b))


  • 1

Reply