from functools import reduce
def Floatposition(s): n = 0 for i in s: n = n + 1 if i == ".": break return n
def relist(s): L = [] L = list(s)[:Floatposition(s)-1]+ list(s)[Floatposition(s):] return L
def fn(x, y): return int(x)*10 + int(y)
def Oxn(s): i = len(s) - Floatposition(s) m = 1 for n in range(i): m = m * 10 return m
def str2float(s): return float(reduce(fn,relist(s))/Oxn(s))
Sign in to make a reply
dosenkim
Floatpositon 函数先确定小数点"."的位置
relist 函数去掉小数点后,重新list化。list中选区位置引用上面的函数
fn 函数把 relist的数值相乘
Oxn 函数计算小数点后面的位数
最后总数除于10的整数倍