在Python中减去两个小数位

-1 投票
1 回答
51 浏览
提问于 2025-04-14 17:11

我正在尝试从一个百分比中减去两个小数位,下面是我的代码

输入:

x = 0.0000034
y = 0.0000035

sum = (x-y)
print(sum)
print(sum * 100)

输出:

-9.999999999999989e-06

我想要的输出是:

0.001%

为什么我的Python代码没有给出像-.000001这样简单的答案呢?

1 个回答

0

计算机使用的浮点数表示法并不能精确地表示所有的数值。换句话说,很多数值都是以接近的方式存储的,而不是完全准确的。你可以在网上搜索“ieee 754”来了解更多。你可以在格式化输出时强制使用特定的精度:

print("%.5f%%" % (sum * 100))

顺便说一下,你可能是想说 sum = y - x。注意,这个表达式里的括号其实是可以省略的。另外,使用变量名 sum 可能会让人困惑,因为你实际上是在计算一个差值。

撰写回答