我正在使用Typescript 2.4并且遇到一个简单的模运算:
我写了一个简单的模运算符单元测试来解释我的问题
fit('TypeScript should be able to do a simple mathematic modulo : ', () => {
expect(318.08 % 60).toBe(18.08);
});
正如你猜测的那样......这个测试失败了(预计18.079999999999984为18.08。)。
我错过了什么?
答案 0 :(得分:0)
这不是打字稿问题,它是双精度问题。这是在两个双精度数上使用模数时生成的值(在C#中检查也得到相同的值)
您可以将结果四舍五入到小数点后两位
Math.round(100 *(318.08 % 60)) / 100