【发布时间】:2019-11-30 07:07:05
【问题描述】:
当我执行这 2 行时,我得到 2 个不同的结果。 - 为什么?
item 变量是 numpy.float32 类型
print(item)
print(item * 1)
输出:
0.0006
0.0006000000284984708
我怀疑这与 numpy.float32 类型有关?
如果我尝试将 numpy.float32 转换为 float,我会得到:
item = float(item)
print(item)
输出:
0.0006000000284984708
【问题讨论】:
-
欢迎来到浮点运算的美妙世界。我认为您没有遇到问题,这就是浮点的工作原理。确实我得到了这些确切的结果
-
有什么办法可以避免这种情况吗?这给我带来了很多麻烦。
-
什么样的问题?您可以尝试阅读this answer 来解决似乎类似的问题,也可以尝试this 来规避问题
-
@jottbe 您可以使用np.set_printoptions 调整打印精度
-
我尝试调整打印选项,但结果相同。