Discuss / Python / 字符串转数字函数str2num(),需要考虑有小数点和没小数点的两种情况!

字符串转数字函数str2num(),需要考虑有小数点和没小数点的两种情况!

Topic source

biggerdream

#1 Created at ... [Delete] [Delete and Lock User]

def str2num(s):

#考虑有小数点和没小数点的两种情况:
i = s.find('.')
if (i == -1):
    return int(s)
else:
    return int(s[:i] + s[i+1:])/10**(len(s) - 1 -i)

def calc(exp): ss = exp.split('+') ns = map(str2num, ss) return reduce(lambda acc, x: acc + x, ns)

def main(): r = calc('100 + 200 + 345') print('100 + 200 + 345 =', r) r = calc('99 + 88 + 7.6') print('99 + 88 + 7.6 =', r)

main()


  • 1

Reply