from functools import reduceCHAR_TO_FLOAT = {? ? '0': 0,? ? '1': 1,? ? '2': 2,? ? '3': 3,? ? '4': 4,? ? '5': 5,? ? '6': 6,? ? '7': 7,? ? '8': 8,? ? '9': 9,? ? '.': -1}def str2float(s):? ? nums = map(lambda ch: CHAR_TO_FLOAT[ch], s)? ? point = 0? ? def to_float(f, n):? ? ? ? nonlocal point? ? ? ? if n == -1:? ? ? ? ? ? point = 1? ? ? ? ? ? return f? ? ? ? if point == 0:? ? ? ? ? ? return f * 10 + n? ? ? ? else:? ? ? ? ? ? point = point * 10? ? ? ? ? ? return f + n / point? ? return reduce(to_float, nums, 0.0)print(str2float('123.456'))print(str2float('123.45600'))
這是將字符串轉(zhuǎn)化為浮點(diǎn)數(shù)的代碼:point有什么作用,其中的f,n是干什么用的
xiaoxiaomengmeng
2016-09-13 15:58:52