Javascript 如何解决模数运算符不准确的问题?

Javascript 如何解决模数运算符不准确的问题?,javascript,modulus,Javascript,Modulus,有没有办法解决这个问题?我在控制台上试过,结果是错误的,但从技术上讲,结果是正确的 控制台上的实验: 使用Math.floor console.logMath.floor1%0.01==0 在C和C++中,余数算子只接受积分操作数; 在ECMAScript中,它还接受浮点操作数。 由%运算符计算的浮点余数运算的结果与“余数”不同 操作由IEEE 754-2008定义 IEEE 754-2008“余数”运算从 舍入除法,而不是截断除法,因此其行为是 与通常的整数余数运算符不同 相反,ECMAS

有没有办法解决这个问题?我在控制台上试过,结果是错误的,但从技术上讲,结果是正确的

控制台上的实验: 使用Math.floor

console.logMath.floor1%0.01==0 <>在C和C++中,余数算子只接受积分操作数; 在ECMAScript中,它还接受浮点操作数。

由%运算符计算的浮点余数运算的结果与“余数”不同 操作由IEEE 754-2008定义

IEEE 754-2008“余数”运算从 舍入除法,而不是截断除法,因此其行为是 与通常的整数余数运算符不同

相反,ECMAScript语言在浮点操作上定义了%以
与Java整数余数运算符类似;这可以与C库函数fmod进行比较。

JavaScript在十进制计算方面存在问题。避免这种情况的最好方法是始终使用整数。将两个数字相乘以获得合适的整数等价值将意味着计算结果正确。问题是1%0.01!=0?
console.log(Math.floor(1%0.01)===0)