如何解决模数运算符javascript不正确的问题?

问题描述 投票:0回答:2

是否有解决此问题的方法?我已经在控制台上尝试过,结果是错误的,但从技术上讲,结果是正确的

控制台上的实验:

javascript modulus
2个回答
0
投票

使用Math.floor()

console.log(Math.floor(1%0.01)===0)

0
投票

在C和C ++中,余数运算符仅接受整数操作数;在ECMAScript中,它也接受浮点操作数。ECMA Standands

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

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

console.log(Math.floor(1%0.01)===0)

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

© www.soinside.com 2019 - 2024. All rights reserved.