Discuss / Python / 整数字符串如何转换成浮点数?请将字符串‘0123’转换成浮点数123.0

整数字符串如何转换成浮点数?请将字符串‘0123’转换成浮点数123.0

Topic source

求解答,众位有才的学子! 如果考虑到这一点,没有小数点用split函数赋值小数字段会直接报错。

不用太麻烦,加个if就是了 我抄的楼下的作业,自己拆开了好理解 from functools import reduce import math def str2float(s): def char2num(c): return {'0':0, '1':1, '2':2, '3':3, '4':4, '5':5, '6':6, '7':7, '8':8, '9':9}[c] spt = s.split('.')

#整数部分
def f1(x,y):
    return 10*x+y
s1=map(char2num, spt[0])
a=reduce(f1,s1)
if not '.'in s:
    return float(a)
#小数部分
spt[1]='0'+spt[1]
def f2(x,y):
    return x/10+y
s2=map(char2num, spt[1][::-1])
b=reduce(f2,s2)
return a+b

str2float('0123')


  • 1

Reply