【发布时间】:2020-05-13 17:29:10
【问题描述】:
我正在使用一个 numpy 范围。
[In] test = np.arange(0.01, 0.2, 0.02)
[In] test
[Out] array([0.01, 0.03, 0.05, 0.07, 0.09, 0.11, 0.13, 0.15, 0.17, 0.19])
但是,如果我遍历这个数组,它会遍历稍小的值。
[In] for t in test:
.... print(t)
[Out]
0.01
0.03
0.049999999999999996
0.06999999999999999
0.08999999999999998
0.10999999999999997
0.12999999999999998
0.15
0.16999999999999998
0.18999999999999997
为什么会这样?
为了避免这个问题,我一直在四舍五入,但这是解决这个问题的最佳方法吗?
for t in test:
print(round(t, 2))
【问题讨论】: