Fre*_*ind 6 javascript floating-point object jasmine
我需要在Jasmine中做一些期待,比如:
let realValue = callSomeMethod();
let expected = [{
total: 33,
saved: 1.65
}];
expect(realValue).toEqual(expected);
Run Code Online (Sandbox Code Playgroud)
但它失败了,消息是:
Expect [ Object({ total: 33, saved: 1.6500000000000001 })]
to equal [Object({ total: 33, saved: 1.65 })].
Run Code Online (Sandbox Code Playgroud)
我怎样才能做正确的检查?
该toBeCloseTo匹配是精密的数学比较:
expect(1.6500000000000001).toBeCloseTo(1.65, 2);
expect(1.6500000000000001).toBeCloseTo(1.65, 15);
expect(1.6500000000000001).not.toBeCloseTo(1.65, 16);
Run Code Online (Sandbox Code Playgroud)
来源:茉莉花匹配