在JavaScript中有没有更好的方法将负数转换为正数?

时间:2015-05-16 00:07:44

标签: javascript algorithm

问题:有些数字是肯定的,有些则不是。这是我的功能,将负数转换为正数,并保持正数不变。在JavaScript中有更好的方法吗?

function intAbs(integer) {

    if(isNaN(integer)) {
        throw 'NaN';
    }

    if(parseInt(integer, 10) !== integer) {
        throw 'Not an integer';
    }

    n = integer * integer;

    var x = 1;
    var e = 1;

    while(!(e < 0.1 && e > -0.1)) {
        x = (n / x + x) / 2;
        e = n - x * x;
    }

    return parseInt(x);

}

更新:我认为this question不重复。我知道如何获得没有Math.abs()的整数的绝对值。你可以在这个问题中看到。我已经接受了答案,其中指出“是的,有一种更好的方法”,并且它并不含糊。

更新#2 :此问题被标记为Get the absolute value of a number in Javascript的副本,但这不会解决问题if(is there a better way of calculating abs than exactly this algorithm)。我放弃了。

1 个答案:

答案 0 :(得分:0)

是的,还有更好的方法:Math.abs()。