def str2int(s): digits = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9} def chr2int(c): return digits[c] return reduce(lambda x, y: x*10+y, map(chr2int, s)) # 小数点位置 indexDot = s.index('.') # 拆分的小数点左边的字符串 left = s[0:indexDot] # 拆分的小数点右边的字符串 right = s[indexDot+1:] # 字符串转整数 left = str2int(left) right = str2int(right) # 小数点的位数'1'+'000'再转整数,然后用1去除 mul = str2int('1'+ reduce(lambda x,y: x+y,['0' for x in range(len(s)-indexDot-1)])) return left+1/mul*right
Sign in to make a reply
o缄默_星风o