[javascript] Positive Number to Negative Number in JavaScript?

Basically, the reverse of abs. If I have:

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

No matter what console always returns a positive number. How do I fix this?

If I do:

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')
}

it works tho, but it's not "DRY" and just stupid to have an entire block of code JUST for a -.

This question is related to javascript jquery math

The answer is


In vanilla javascript

_x000D_
_x000D_
if(number > 0)_x000D_
  return -1*number;
_x000D_
_x000D_
_x000D_

Where number above is the positive number you intend to convert

This code will convert just positive numbers to negative numbers simple by multiplying by -1


It will convert negative array to positive or vice versa

function negateOrPositive(arr) {
    arr.map(res => -res)
};

The reverse of abs is Math.abs(num) * -1.


If you don't feel like using Math.Abs * -1 you can you this simple if statement :P

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

Of course you could make this a function like this

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

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

Hope this helps! Math.abs will likely work for you but if it doesn't this little


Javascript has a dedicated operator for this: unary negation.

TL;DR: It's the minus sign!

To negate a number, simply prefix it with - in the most intuitive possible way. No need to write a function, use Math.abs() multiply by -1 or use the bitwise operator.

Unary negation works on number literals:

let a = 10;  // a is `10`
let b = -10; // b is `-10`

It works with variables too:

let x = 50;
x = -x;      // x is now `-50`

let y = -6;
y = -y;      // y is now `6`

You can even use it multiple times if you use the grouping operator (a.k.a. parentheses:

l = 10;       // l is `10`
m = -10;      // m is `-10`
n = -(10);    // n is `-10`
o = -(-(10)); // o is `10`
p = -(-10);   // p is `10` (double negative makes a positive)

All of the above works with a variable as well.


To get a negative version of a number in JavaScript you can always use the ~ bitwise operator.

For example, if you have a = 1000 and you need to convert it to a negative, you could do the following:

a = ~a + 1;

Which would result in a being -1000.


Are you sure that control is going into the body of the if? As in does the condition in the if ever hold true? Because if it doesn't, the body of the if will never get executed and slideNum will remain positive. I'm going to hazard a guess that this is probably what you're seeing.

If I try the following in Firebug, it seems to work:

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

slideNum *= -1 should also work. As should Math.abs(slideNum) * -1.


num * -1

This would do it for you.


The basic formula to reverse positive to negative or negative to positive:

i - (i * 2)

var x = 100;
var negX = ( -x ); // => -100

var i = 10;
i = i / -1;

Result: -10

var i = -10;
i = i / -1;

Result: 10

If you divide by negative 1, it will always flip your number either way.


Use 0 - x

x being the number you want to invert


Examples related to javascript

need to add a class to an element How to make a variable accessible outside a function? Hide Signs that Meteor.js was Used How to create a showdown.js markdown extension Please help me convert this script to a simple image slider Highlight Anchor Links when user manually scrolls? Summing radio input values How to execute an action before close metro app WinJS javascript, for loop defines a dynamic variable name Getting all files in directory with ajax

Examples related to jquery

How to make a variable accessible outside a function? Jquery assiging class to th in a table Please help me convert this script to a simple image slider Highlight Anchor Links when user manually scrolls? Getting all files in directory with ajax Bootstrap 4 multiselect dropdown Cross-Origin Read Blocking (CORB) bootstrap 4 file input doesn't show the file name Jquery AJAX: No 'Access-Control-Allow-Origin' header is present on the requested resource how to remove json object key and value.?

Examples related to math

How to do perspective fixing? How to pad a string with leading zeros in Python 3 How can I use "e" (Euler's number) and power operation in python 2.7 numpy max vs amax vs maximum Efficiently getting all divisors of a given number Using atan2 to find angle between two vectors How to calculate percentage when old value is ZERO Finding square root without using sqrt function? Exponentiation in Python - should I prefer ** operator instead of math.pow and math.sqrt? How do I get the total number of unique pairs of a set in the database?