Javascript Matematica Metodi dell’Oggetto – negativi a zero

in Javascript non riesco a trovare un metodo per impostare negativi a zero?

-90 diventa 0
-45 diventa 0
0 diventa 0
90 diventa 90

C’è qualcosa di simile? Ho appena cifre arrotondate.

InformationsquelleAutor FFish | 2011-02-07

 

7 Replies
  1. 141

    Solo fare qualcosa di simile

    value = value < 0 ? 0 : value;

    o

    if (value < 0) value = 0;

    o

    value = Math.max(0, value);
    • Rapida JSPerf mostra value = valore < 0 ? 0 : valore; è in cima jsperf.com/negatives-to-zero
    • Mi piace il Math.max uno più, perché richiede solo di riferimento value una volta
    • Bel trucco con la Matematica.max, grazie!
  2. 46

    Suppongo che si potrebbe utilizzare Math.max().

    var num = 90;
    num = Math.max(0,num); //90
    
    var num = -90;
    num = Math.max(0,num); //0
    • Questo dovrebbe essere accettato risposta, a mio parere. Solo per dire… 🙂
    • Una cosa da tenere a mente è che sia Math.max(0, NaN) e Math.max(0, undefined) ritorno NaN così si potrebbe voler fare qualcosa lungo queste linee: Math.max(0, num) || 0
  3. 6

    Se vuoi essere intelligente:

    num = (num + Math.abs(num)) / 2;

    Tuttavia, Math.max o un operatore condizionale sarebbe molto più comprensibile.

    Inoltre, questo ha problemi di precisione per grandi numeri.

  4. 4
    Math.positive = function(num) {
      return Math.max(0, num);
    }
    
    //or 
    
    Math.positive = function(num) {
      return num < 0 ? 0 : num;
    }
    • zero non è né positivo né negativo, la funzione deve essere rinominato secondo che
  5. 0

    Non credo che una tale funzione esiste con i nativi oggetto Math. Si dovrebbe scrivere una sceneggiatura, per riempire la funzione se avete bisogno di usarlo.

Lascia un commento