把字符串转成整形
例1
#str = ‘17659732520’
from functools import reduce
dicts = {‘0’:0,‘1’:1,‘2’:2,‘3’:3,‘4’:4,‘5’:5,‘6’:6,‘7’:7,‘8’:8,‘9’:9}
def get_num(n):
return dicts[n]
def get_result(x,y):
return x*10+y
data = list(map(get_num,strs))
print(data)
result = reduce(get_num,data)
def int1(strs):
dicts = {‘0’:0,‘1’:1,‘2’:2,‘3’:3,‘4’:4,‘5’:5,‘6’:6,‘7’:7,‘8’:8,‘9’:9}
result = list(map(get_num,data))
return result
print(int1(‘17659732520’)
转小数
方法1
from decimal imporl Decimal
strs = ‘16561651.1561651651’
data = strs.replacce(‘.’,’ ‘)
dian_index = strs.find(‘.’)
chazhi = 10**(len(data)-dian_index)
print(Decimal(int1(data))/chazhi)
方法2
from decimal imporl Decimal
dicts = {‘0’:0,‘1’:1,‘2’:2,‘3’:3,‘4’:4,‘5’:5,‘6’:6,‘7’:7,‘8’:8,‘9’:9}
strs = ‘16561651.1561651651’
i = strs.split(‘.’)[0]
f = strs.split(‘.’)[1]
print(i,f)
def get_data(x,y):
return x*0.1+y
last = reduce(get_data,map(get_num,f[::-1]))
print(in1(i)+Decimal(last)/10)
原文地址:http://www.cnblogs.com/love-00418/p/16810495.html