如何将字符串转为数字python_将字符串转化为数字的python实现

将字符串转化为数字的python实现

将字符串转化为数字的python实现,例如将字符串“1234567.8”转化为 1234567.8

这也是学习python中的一个简单的练习题,代码如下:

# coding=UTF-8 将字符串转化为数字

from functools import reduce

import math

def char2int(s):

return {'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9}[s]

def mulit_int(x,y):

return 10*x+y

def str2int(s):

if s.find('.')==-1:#不是浮点数

return reduce(mulit_int,map(char2int,s))

else:#是浮点数

s1=s.split('.')

s2int=reduce(mulit_int,map(char2int,s1[0])) #整数部分

s2float=reduce(mulit_int,map(char2int,s1[1]))*0.1**len(s1[1]) #小数部分

return s2int+s2float

print(str2int(123345.678))

上面涉及到的知识点又python中内置的map()和reduce()函数的应用。

其中map()函数要接收两个参数,第一个参数为函数,第二个参数为一个Iterable对象,map将传入的函数依次作用到序列的每个元素,结果以Iterable返回。

而reduce()函数也接收两个参数,与map一样,但是reduce函数是把结果和序列中剩下的元素一起继续参与运算

你可能感兴趣的:(如何将字符串转为数字python_将字符串转化为数字的python实现)