gpt4 book ai didi

javascript - 确定数值是否在非特定整数的某个范围内

转载 作者:行者123 更新时间:2023-12-03 07:52:42 25 4
gpt4 key购买 nike

我正在使用各种 JavaScript Math 函数,由于 float 的原因,这些函数有时会返回比正确整数答案大或小 0.000000001 的值。我希望为所述函数设置一个 if-else 语句,如果该值在整数的某个小范围内,它将返回正确的整数答案(请注意,所述整数的非特异性是至关重要)。

所以我问,有没有一种方法,使用 JavaScript 来确定从数学函数(例如 Math.cbrt())返回的值是否在非具体整数?

注意:我尝试在一个函数中使用 Number.EPSILON 来计算数字的 x 次方根,如下所示

    var index = $('#Index').val();
var radicand = $('#Radicand').val();
var powerXroot = Math.pow(radicand,(1/index))+(Number.EPSILON * Math.pow(radicand,(1/index)));

但它并不适用于所有指标。

最佳答案

您可以使用Math.round()获得最接近结果的整数。如果该整数在结果的 0.000000001 范围内,则用该整数替换结果。

假设您已经计算了 var x = ...,并且希望将其设为整数(如果它足够接近 1)。

function roundIfAlmostInteger(x) {
if (Math.abs(x - Math.round(x)) < 0.000000001) {
x = Math.round(x);
}
return x;
}

插图:

x = 2.3 - 0.1 - 0.2;   // now x is 1.9999999999999998
x = roundIfAlmostInteger(x); // now x is 2

关于javascript - 确定数值是否在非特定整数的某个范围内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34938172/

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