用python将字符串转化成浮点数

Python split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串

str.split(str="", num=string.count(str)).

str – 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
num – 分割次数。默认为 -1, 即分隔所有。

这题思路是以小数点为分割,把整数部分和小数部分分开,str2num的作用是把字符串转换为数字,小数部分还需要计算长度X然后乘10的-X次方才能得到最终小数部分大小,最后相加组合到一起

def str2float(s):
    DIGITS = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}
    def str2num(x,y):
        return x * 10 + y
    intNum,floatNum=s.split('.')
    intNum = reduce(str2num, map(int,intNum))
    floatNum = 10 ** (-len(floatNum)) * reduce(str2num,map(int,floatNum))
    return intNum + floatNum

猜你喜欢

转载自blog.csdn.net/weixin_43935092/article/details/88713464