151 votes

Le nombre positif au nombre négatif en JavaScript ?

Fondamentalement, l'inverse des abdos. Si j'ai :

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

Peu importe quelle console renvoie toujours un nombre positif. Comment je répare ça ?

Si je le fais :

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

ça marche tho, mais ce n'est pas "SEC" et juste stupide d'avoir un bloc entier de code JUSTE pour un -.

273voto

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

Vous réalisez cependant, que pour votre code

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

Si l'indice trouvé est 3 et slideNum est 3,
alors 3 < 3-1 => false
donc slideNum reste positif ? ?

Ça ressemble plus à une erreur logique pour moi.

117voto

Jakub Hampl Points 19161

L'inverse des abs est Math.abs(num) * -1.

42voto

Blake Points 27

La formule de base pour inverser positif à négatif ou négatif à positif :

i - (i * 2)

12voto

Benjamin Williams Points 167

Pour obtenir une version négative d'un nombre en JavaScript, vous pouvez toujours utiliser l'opérateur ~ bitwise.

Par exemple, si vous avez a = 1000 et que vous devez le convertir en négatif, vous pouvez faire ce qui suit :

a = ~a + 1;

Ce qui signifierait que a serait -1000.

8voto

tpayne84 Points 153
var x = 100;
var negX = ( -x ); // => -100

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X