Подтвердить что ты не робот

Положительное число до отрицательного числа в JavaScript?

В принципе, обратная сторона абс. Если у меня есть:

if($this.find('.pdxslide-activeSlide').index() < slideNum-1){ slideNum = -slideNum }
console.log(slideNum)

Независимо от того, какая консоль ВСЕГДА возвращает положительное число. Как это исправить?

Если я это сделаю:

if($this.find('.pdxslide-activeSlide').index() < slideNum-1){
_selector.animate({left:(-slideNum*sizes.images.width)+'px'},750,'InOutPDX')
}
else{
_selector.animate({left:(slideNum*sizes.images.width)+'px'},750,'InOutPDX')
}

он работает, но он не "СУХОЙ" и просто глуп, чтобы иметь весь блок кода JUST для -

4b9b3361

Ответ 1

Math.abs(num) => Always positive
-Math.abs(num) => Always negative

Вы действительно понимаете, что для вашего кода

if($this.find('.pdxslide-activeSlide').index() < slideNum-1){ slideNum = -slideNum }
console.log(slideNum)

Если найденный индекс равен 3, а slideNum равно 3,
затем 3 < 3-1 = > false
поэтому slideNum остается положительным

Это больше похоже на логическую ошибку для меня.

Ответ 2

Реверс абс равен Math.abs(num) * -1.

Ответ 3

Основная формула для положительного отрицательного или отрицательного отношения к положительному:

i - (i * 2)

Ответ 4

Вы уверены, что элемент управления находится в теле if? Как и в случае с условием в if? Потому что, если это не так, тело if никогда не будет выполнено, а slideNum останется положительным. Я собираюсь опасаться, что это, вероятно, то, что вы видите.

Если я попробую следующее в Firebug, оно работает:

>>> i = 5; console.log(i); i = -i; console.log(i);
5
-5

slideNum *= -1 также должен работать. Как и Math.abs(slideNum) * -1.

Ответ 5

Чтобы получить отрицательную версию числа в JavaScript, вы всегда можете использовать побитовый оператор ~.

Например, если у вас есть a = 1000, и вам нужно преобразовать его в отрицательный, вы можете сделать следующее:

a = ~a + 1;

что приведет к тому, что a будет -1000.

Ответ 6

Если вам не нравится использовать Math.Abs ​​* -1, вы можете сделать это простое утверждение if: P

if (x > 0) {
    x = -x;
}

Конечно, вы могли бы сделать эту функцию такой

function makeNegative(number) {
    if (number > 0) {
        number = -number;
    }
}

makeNegative (-3) = > -3 makeNegative (5) = > -5

Надеюсь, это поможет! Math.abs, скорее всего, сработает для вас, но если это не так мало

Ответ 7

Используйте 0 - x

x - число, которое вы хотите инвертировать