Python浮点数计算精度问题

Python计算:(1)3.14*0.2*0.2时,为什么是这个结果:0.12560000000000002?为什么这么长,而且末尾有个2?(2)计算:3.14*0.5*... Python计算:
(1)3.14*0.2*0.2 时,为什么是这个结果:0.12560000000000002?为什么这么长,而且末尾有个2?
(2)计算:3.14*0.5*0.9 时,结果又是正常的:1.413?
请问这是为什么?
展开
 我来答
打板小弟萌童5
2017-08-12 · TA获得超过1352个赞
知道小有建树答主
回答量:82
采纳率:100%
帮助的人:46.3万
展开全部
方法一:使用格式化字符串来实现: print "%e" % 0.0001
方法二:修改floatobject.c里format_float里snprintf的参数,然后重新编译。
追问
我是想弄清楚出现这个现象的原因
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式