免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3195 | 回复: 5
打印 上一主题 下一主题

python 计算出这样的结果, 算不算是bug? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-05-09 11:17 |只看该作者 |倒序浏览
Python 2.5.1 (r251:54863, Apr 18 2007, 08:51:0 [MSC v.1310 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.

    ****************************************************************
    Personal firewall software may warn about the connection IDLE
    makes to its subprocess using this computer's internal loopback
    interface.  This connection is not visible on any external
    interface and no data is sent to or received from the Internet.
    ****************************************************************
   
IDLE 1.2.1      
>>> 8*0.6
4.7999999999999998
>>>

论坛徽章:
0
2 [报告]
发表于 2007-05-09 13:51 |只看该作者
估计不算,因为这是由计算机不能准确保存浮点数所致。
在Python文档里有说明。
比如说:
>>> a = 1.1
>>> a
1.1000000000000001
>>>

论坛徽章:
0
3 [报告]
发表于 2007-05-09 21:47 |只看该作者
貌似这也正是 decimal 类型登上python历史舞台的原因。

论坛徽章:
0
4 [报告]
发表于 2007-05-10 12:25 |只看该作者

回复 2楼 林杰杰 的帖子

怎样才可以让python计算得准确呢?
BTW, 可否给个python文档里关于这方面说明的链接?

谢谢!

论坛徽章:
0
5 [报告]
发表于 2007-05-10 12:52 |只看该作者
原帖由 wolfman.wu 于 2007-5-10 12:25 发表
怎样才可以让python计算得准确呢?
BTW, 可否给个python文档里关于这方面说明的链接?

谢谢!

如楼上的楼上的所言,用那个新的模块。但是实际上那个模块功能很弱,而且对于普通的计算来说,这样的精度足够了。
如果想用更高精度的计算,应该用更加合适的工具。
关于那个IEEE的说明在文档里有。我不大记得在哪了。拿1.1000000000000001这个数字去搜索一下吧,是搜索不是索引。

论坛徽章:
0
6 [报告]
发表于 2007-05-19 11:45 |只看该作者
print 8*0.6
4.8
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP