JS中整数除法的精确性

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS中整数除法的精确性相关的知识,希望对你有一定的参考价值。

如果ab是正整数小于Number.MAX_SAFE_INTEGERa可被b整除,是否保证console.log(a / b)将输出一个整数(而不是,例如,以.9999999999结尾的数字)?此外,a % b === 0会持有吗?

答案

至少基于ECMAScript标准,applying / operator的规则提到该语言不执行整数除法,并且在典型情况下计算商并使用IEEE 754-2008舍入到最接近的可表示值舍入到最近,与偶数模式相关联。

因此,如果分子(在安全范围内)可被非零分母均分,则结果必然是一个数学整数,因为IEE 754-2008可以将其表示为一。

%也是如此,在这种情况下会产生0。

以上是关于JS中整数除法的精确性的主要内容,如果未能解决你的问题,请参考以下文章

js浮点数运算封装, 起因财务部分精确计算

js 怎样精确计算除法,没有精度缺失?

STM32单片机算法指令?

python整数除法保留两位小数

python两种除法区别以及向上向下取整

3-整数运算