gpt4 book ai didi

Javascript如何检查商数是否为整数

转载 作者:行者123 更新时间:2023-12-05 05:48:45 29 4
gpt4 key购买 nike

例子:

1.15 / 0.01 = 114.99999999999999, is an Integer in my case
9.96 / 0.01 = 996.0000000000001, is an Integer in my case
15.121 / 0.01 = 1512.1, Not an Integer

Number.isInteger() 在以下情况下不准确:1.15/0.019.96/0.01

最佳答案

我建议为此使用专用库,例如​​ decimal.js .

小数对象有一个有用的方法isInteger() , 可以在除法完成后调用。

您可以设置所需的精度,但我认为默认值应该足够了(20,请参阅 precision)

function isQuotientInteger(dividend, divisor) {
return new Decimal(dividend).dividedBy(new Decimal(divisor)).isInteger();
}

let testInputs = [ { dividend: 1.15, divisor: 0.01 }, { dividend: 9.96, divisor: 0.01 }, { dividend: 15.121, divisor: 0.01 } , { dividend: 3.14159, divisor: 0.00001 }];

formatRow('Dividend', 'Divisor', 'Quotient is integer')
for(let testInput of testInputs) {
formatRow(testInput.dividend, testInput.divisor, isQuotientInteger(testInput.dividend, testInput.divisor))
}

function formatRow(...row) {
console.log(...row.map(f => (f + '').padEnd(10)))
}
.as-console-wrapper { max-height: 100% !important; top: 0; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/decimal.js/10.3.1/decimal.min.js" integrity="sha512-Ou4M+sSU8oa+mE3juYqR3JmW633MUpMhe1cd+IusOtfjkMo8I3zXs4fRmjmCFqpRg5RK/geqoXBY8XRwFY2Rsg==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>

关于Javascript如何检查商数是否为整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70766862/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com