首页 > 解决方案 > 简单的脚本是在数学中添加随机零?

问题描述

好的,所以我制作了一个简单的脚本,因为我很懒,只想在其中添加公里数,以便弹出所需的信息...虽然我知道将变量更改为 int() 给了我所需的正确信息,但没有它我收到一个奇怪的输出,我现在知道它是如何创建的。这是脚本:

KMstandNu = 186645



KMsnaarhuisenterug = 18.7 * 2

KMnaarPascalenterug = 8.2 * 2

Wednesday2 = KMstandNu - KMsnaarhuisenterug

Wednesday1 = Wednesday2 - KMnaarPascalenterug

Tuesday2 = Wednesday1

Tuesday1 = Tuesday2 - KMnaarPascalenterug



print("22 oktober: " + str(Tuesday1) + " - " + str(Tuesday2))

print("23 oktober: " + str(Wednesday1) + " - " + str(Wednesday2))

输出:

22 oktober: 186574.80000000002 - 186591.2
23 oktober: 186591.2 - 186607.6

好的,哪位聪明的头脑可以帮助我弄清楚为什么星期二 1 得到 9 个零和 2 落后于正确的数学???

标签: pythonpython-3.xfloating-point

解决方案


这是因为浮点精度。尝试使用十进制而不是浮点数:

十进制 Python 文档

相关问题

from decimal import getcontext, Decimal

getcontext().prec = 10

KMstandNu = 186645

KMsnaarhuisenterug = Decimal(18.7) * 2

KMnaarPascalenterug = Decimal(8.2) * 2

Wednesday2 = KMstandNu - KMsnaarhuisenterug

Wednesday1 = Wednesday2 - KMnaarPascalenterug

Tuesday2 = Wednesday1

Tuesday1 = Tuesday2 - KMnaarPascalenterug


print("22 oktober: " + str(Tuesday1) + " - " + str(Tuesday2))

print("23 oktober: " + str(Wednesday1) + " - " + str(Wednesday2))

输出:

10 月 22 日:186574.8000 - 186591.2000

10 月 23 日:186591.2000 - 186607.6000


推荐阅读