如何把字符串型数字‘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