Discuss / Python / 这样可以str2float,可是好复杂啊。。。

这样可以str2float,可是好复杂啊。。。

Topic source

def str2float(s): def f(x,y): return x*10+y def char2int(s): return {'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9,'.':'.'}[s] c=0 for i in s: if i=='.': break c=c+1 L=list(map(char2int,s)) L.remove('.') return reduce(f,L)/(10**c)


  • 1

Reply