标题:str转换为float浮点数后,结果展示问题
只看楼主
似水流年去
Rank: 3Rank: 3
来 自:四川
等 级:论坛游侠
帖 子:71
专家分:128
注 册:2012-10-23
结帖率:88.89%
 问题点数:0 回复次数:0 
str转换为float浮点数后,结果展示问题
程序代码:
CHAR_TO_FLOAT = {
    '0': 0,
    '1': 1,
    '2': 2,
    '3': 3,
    '4': 4,
    '5': 5,
    '6': 6,
    '7': 7,
    '8': 8,
    '9': 9,
    '.': -1
}

def str2float1(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(str2float1('120.123'))打印时,结果为:120.12299999999999能解释下不?
搜索更多相关主题的帖子: 转换 float 结果 point return 
2017-12-14 10:31



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-483361-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.379925 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved