故事:

在Python内置的unittest框架中,有一个通过 assertAlmostEqual() 方法实现的“近似相等”声明:

x = 0.1234567890
y = 0.1234567891
self.assertAlmostEqual(x, y)

其中具有要检查的小数位数可配置。

并且,还有一个 numpy.testing.assert_almost_equal() ,它也适用于浮点数组:
import numpy.testing as npt
import numpy as np

npt.assert_almost_equal(np.array([1.0,2.3333333333333]), np.array([1.0,2.33333334]))

问题:

如何在JavaScript / Jasmine中为浮点数和浮点数数组做出“几乎相等”的断言?

最佳答案

对于单个 float ,请使用 toBeCloseTo :

expect(x).toBeCloseTo(y, 7)

对于float数组,您似乎最好的方法是对其进行循环并为每对元素调用toBeCloseTo(或编写自己的匹配器)。参见Expect an array of float numbers to be close to another array in Jasmine

关于javascript - Jasmine “Almost Equal”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38509815/

10-13 05:58