JavaScript中是否有数学函数可以将数字转换为正数?


当前回答

负号(-)可以将正数转换为负数,也可以将负数转换为正数。X =-y是X =(y*-1)的视觉糖。

var y = -100;
var x =- y;

其他回答

那么x *= -1呢?我喜欢它的简洁。

我知道这有点晚了,但对于那些纠结于此的人,你可以使用以下函数:

将任何数字变为正数 令x = 54; 令y = -54; let resultx = Math.abs(x);/ / 54 let result = Math.abs(y);/ / 54 将任何数字变为负数 令x = 54; 令y = -54; let resultx = -Math.abs(x);/ / -54 let result = -Math.abs(y);/ / -54 求任意数的倒数 令x = 54; 令y = -54; 令resultx = -(x);/ / -54 令result = -(y);/ / 54

如果你想让这个数一直是正数你可以这样做。

function toPositive(n){
    if(n < 0){
        n = n * -1;
    }
    return n;
}
var a = toPositive(2);  // 2
var b = toPositive(-2); // 2

你也可以试试这个,但我不建议你这么做:

function makePositive(n){
    return Number((n*-n).toString().replace('-','')); 
}
var a = makePositive(2);  // 2
var b = makePositive(-2); // 2

这样做的问题是,你可以将数字更改为负数,然后转换为字符串,并从字符串中删除-,然后转换回int。我猜这比使用另一个函数需要更多的处理。

我已经在php中测试了这个,第一个函数更快,但有时JS会做一些疯狂的事情,所以我不能肯定。

对于函数式编程,Ramda有一个很好的方法。同样的方法也适用于从正到负,反之亦然。

https://ramdajs.com/docs/#negate

负号(-)可以将正数转换为负数,也可以将负数转换为正数。X =-y是X =(y*-1)的视觉糖。

var y = -100;
var x =- y;