首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么在while循环中添加0.01会打印奇怪的数字?

为什么在while循环中添加0.01会打印奇怪的数字?
EN

Stack Overflow用户
提问于 2019-06-11 03:27:00
回答 1查看 170关注 0票数 0

所以我创建了一个while x <= 10相加0.01,但它将数字输出到4dp,依此类推,也降低了结尾。

x = 0
c = 0 #count of numbers
while x <= 10:
    x += 0.01
    c += 1
    print (x)
print(c)

预期结果为0.01,0.02,0.03结果似乎在0.06处更改

0.010.02 0.03 0.04 0.05 0.060000000000000005 0.07 0.08 0.09 0.09999999999999999中间材料9.959999999999832 9.969999999999832 9.979999999999832 9.989999999999831 9.999999999999831 10.009999999999831

EN

回答 1

Stack Overflow用户

发布于 2019-06-11 03:28:56

我猜这是因为浮点舍入行为。有趣的是,您可以在for循环中通过十进制值进行迭代,但浮点加法的不可靠行为(据我所知)使这变得不太可取。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56532422

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档