在Python中减去两个小数位
我正在尝试从一个百分比中减去两个小数位,下面是我的代码
输入:
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
可能会让人困惑,因为你实际上是在计算一个差值。