| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1228 人关注过本帖
标题: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
快速回复:str转换为float浮点数后,结果展示问题
数据加载中...
 
   



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

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