问题:有些数字是肯定的,有些则不是。这是我的功能,将负数转换为正数,并保持正数不变。在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)
。我放弃了。
答案 0 :(得分:0)
是的,还有更好的方法:Math.abs()。