Python 的 Numpy 点函数返回不正确的值,为什么?

Python's Numpy dot function returning incorrect value, why?

真的很简单,我的代码是:

import numpy as np


a = np.array([0.4, 0.3])
b = np.array([-0.15, 0.2])

print(np.dot(a,b))

这个的点积应该是 0,而我得到:

3.3306690738754695e-18

Floating-point!

Floating-point(即 non-integer)算术往往不是 100% 准确。

有关详细信息,请参阅 here

另外请注意,您的结果非常接近于零。