От положительного к отрицательному

ли в JavaScript математическая функция, которая преобразует числа в положительные значения?

Ответы на вопрос(9)

что это немного поздно, но для людей, борющихся с этим, вы можете использовать

Для преобразования негатива в позитив

let x = -54;
let result = Math.abs(x);

Для преобразования положительного в отрицательный

let x = 54;
let result = -Math.abs(x)

Или вы можете просто сделать этот короткий метод.

Для преобразования положительного в отрицательный и наоборот

let x = -23;
let result = -(23)
unsigned_value = Math.abs(signed_value);

Отрицательный к положительному

var X = -10 ;
var number = Math.abs(X);     //result 10

От положительного к отрицательному

var X = 10 ;
var number = (X)*(-1);       //result -10

x *= -1? Мне нравится его простота.

 Mavelo08 авг. 2013 г., 22:03
+1 для простоты и работы в любом случае, например: neg2pos и pos2neg
 myusuf11 июл. 2015 г., 20:58
В то время как это просто, предполагается, что число всегда будет отрицательным. Если сценарий использования такой, то это круто. В противном случае, я бы посоветовал осторожность.
 ExcellentSP13 авг. 2015 г., 16:41
Я не согласен @myusuf. Любое число, котороеx будет перевернут. Еслиx = 23 и вталкивается в это уравнение,x будет равен-23, По словам г-на Эскаланте: «Положительное время отрицательное равно отрицательному. Отрицательное время отрицательное равно положительному». ... "Как мне добраться до этих kiiiiiiids ?!"
 myusuf14 авг. 2015 г., 19:03
Точно @Shane вчера. Еслиx=23тогда станет -23. Поскольку вопрос идет, 'Преобразуйте отрицательное число в положительное число в JS', но вышеупомянутое перевернет любое число, будь то положительное или отрицательное.
 ExcellentSP16 авг. 2015 г., 21:14
Понял. Моя интерпретация вашего комментария состояла в том, чтобы изменить число и не делатьx всегда позитивный. Мои извинения @myusuf.

Math.abs(x) или если выопределенный перед преобразованием значение отрицательное, просто добавьте обычный знак минус:x = -x.

который никто другой не сможет обновить, попробуйте это:

~ --x

 Kyle15 окт. 2014 г., 23:52
Я думаю, если вы не можете изменить х: ~ --x; ++ x
 Alexis Wilke24 мая 2014 г., 05:07
Это не будет работать с плавающей точкой, хотя ... и значение х тоже меняется.
 Alexis Wilke16 окт. 2014 г., 13:38
Кайл~ Оператор конвертирует число в 32-битное целое число. Если у вас есть поплавок в качестве входных данных, он будет скрыт.
Решение Вопроса

Вы могли бы использовать это ...

Math.abs(x)
 omgaz16 окт. 2014 г., 01:25
Вы можете даже рассмотреть ~ x + 1. Это довольно быстро, но не ясно, что он делает. Взбил это, чтобы показать разницу:jsperf.com/absolute-int
 amara05 янв. 2018 г., 02:19
Вы можете даже подумать -x. Это довольно быстро!
 jduncanator18 дек. 2014 г., 13:53
@omgaz Они не одинаковы ...var x = -100; ~x+1 === 100 ноvar x = 100; ~x+1 === -100. Math.abs всегда делает его положительным, в то время как дополнение к ним просто инвертирует знак.
var posNum = (num < 0) ? num * -1 : num; // if num is negative multiple by negative one ... 

ые числа и отрицательные числа в положительные числа.x=-y визуальный сахар дляx=(y*-1).

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

Ваш ответ на вопрос