python 如何把字符串转换成浮点数

如何把字符串型数字‘123.456’转换成float型数据

直接自带float就行啦

 test1 ="123.456"
 test2 = '12.304'
 test3 = '12.34'
 print(float(test1))
 print(float(test2))
 print(float(test3))
 
结果:
123.456
12.304
12.34
如何使用map和reduce把字符串型数字‘123.456’转换成浮点数123.456
from functools import reduce
def str2float(s):
    def fn(x,y):
            return x*10+y
    n=s.index('.')
    s1=list(map(int,[x for x in s[:n]]))
    s2=list(map(int,[x for x in s[n+1:]]))
    return reduce(fn,s1)+reduce(fn,s2)/10**len(s2)
   
 测试:
 str = "123.456"
 str2float(str)
 123.456

你可能感兴趣的:(python)