求教python字符串转换为浮点数得到的结果为何与书不同?

书是《与孩子一起学编程》(python2.5)第41p其给出>>>a='76.3'>>>b=float(a)>>>a'76.3'>>>b76.29999997而我用pyt... 书是《与孩子一起学编程》(python2.5)第41p
其给出

>>>a = '76.3'
>>>b = float(a)
>>>a
'76.3'
>>>b
76.29999997

而我用python实际运算的结果是
>>> a = '76.3'
>>> b = float(a)
>>> a
'76.3'
>>> b
76.3
>>>

为什么我的b结果与书中的例子不同呢?
是版本问题(我用的python2.7),还是我哪个地方输入有误?

谢谢
展开
 我来答
bdwisyou7d
推荐于2016-07-25 · TA获得超过1.3万个赞
知道大有可为答主
回答量:3774
采纳率:81%
帮助的人:1086万
展开全部
你的结果更正确。不用怀疑。他们的结果太老旧了。浮点数是有一点点误差。但不至于差成这样子。可能他的计算机是32位的。你是64位的。

python2.5也比python2.7差远了。 所以有错误也是正常的。

浮点数不能精确对比。不过这种情形似乎在python2.7上神奇的有所改善。也许真的可以用==比较了。

最大可能还是他的计算机差。C语言库里的浮点数误差大。
百度网友87b2a52
2013-05-13 · 知道合伙人软件行家
百度网友87b2a52
知道合伙人软件行家
采纳数:523 获赞数:3490
毕业于南京大学,硕士学位。10年软件研发经验。现任信息系统架构师。

向TA提问 私信TA
展开全部
Python 2.7 于公元 2010 年 7 月 7 日正式发布。
数值处理能力在许多方面有所提高, 包括浮点数和小数处理。
你问题里面说到的浮点数类型转换处理在2.7版本里面已经能准确处理。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式