Was ist der einfachste Weg in Javascript, um nur das Vorzeichen einer Zahl zu erhalten? [Duplikat]

8

Gibt es eine Variable mit Zahlen, wie lässt sich das Vorzeichen am einfachsten bestimmen?

Ich komme immer wieder mit Code wie folgt:

%Vor%

Es scheint weniger als elegant, wenn alles, was ich will, eine -1 ist, wenn die Zahl negativ ist, 1 wenn positiv und eine 0, wenn es 0 ist.

Mit "am einfachsten" meine ich elegant oder weniger tippen.

Alternativ gibt es vielleicht eine Möglichkeit, einen Wert absolut zu erhöhen. Wenn die Zahl negativ ist, subtrahiere 1 davon, und wenn es positiv ist, addiere eins dazu. Math.abs () liefert den absoluten Wert, aber es gibt keine Möglichkeit, ihn wieder in eine vorzeichenbehaftete Zahl umzuwandeln, sobald Sie Math.abs ().

ausführen     
BishopZ 19.11.2012, 22:11
quelle

4 Antworten

14

Sie könnten das einfach tun:

%Vor%     
toxicate20 19.11.2012, 22:13
quelle
4

Wie wäre es damit, eine Funktion dafür zu definieren?

%Vor%     
Madara Uchiha 19.11.2012 22:14
quelle
2

Sie können die Zahl durch ihre absolute teilen und Sie erhalten das Zeichen:

%Vor%     
Kir Ivlev 19.11.2012 22:13
quelle
1

Wenn Sie einen kürzeren Weg bevorzugen und wissen, dass es eine Zahl ist, und es Ihnen nichts ausmacht, auf einen 32-Bit-Bereich mit Vorzeichen beschränkt zu sein, können Sie Folgendes tun:

%Vor%
  • wenn n ist 0 , dann 0
  • Wenn n >>> 31 1 ist, wurde es signiert, also negativ, und wird zu -1 negiert
  • Wenn n >>> 31 0 ist, wurde es nicht signiert, also positiv und wird standardmäßig auf 1 gesetzt
I Hate Lazy 19.11.2012 22:22
quelle

Tags und Links