Méthodes d’object de maths de Javascript – les négatifs à zéro

en Javascript, je n’arrive pas à trouver une méthode pour définir les négatifs à zéro?

-90 devient 0
-45 devient 0
0 devient 0
90 devient 90

Y a-t-il quelque chose comme ça? Je viens de arrondir les chiffres.

Faites juste quelque chose comme

value = value < 0 ? 0 : value; 

ou

 if (value < 0) value = 0; 

ou

 value = Math.max(0, value); 

Je suppose que vous pourriez utiliser Math.max() .

 var num = 90; num = Math.max(0,num); // 90 var num = -90; num = Math.max(0,num); // 0 

Si vous voulez être intelligent:

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

Cependant, Math.max ou un opérateur conditionnel serait beaucoup plus compréhensible.
De plus, cela pose des problèmes de précision pour les grands nombres.

 Math.positive = function(num) { return Math.max(0, num); } // or Math.positive = function(num) { return num < 0 ? 0 : num; } 

x < 0 ? 0 : x x < 0 ? 0 : x fait le travail.

Je ne crois pas qu’une telle fonction existe avec l’object Math natif. Vous devriez écrire un script pour remplir la fonction si vous avez besoin de l’utiliser.

Rappelez-vous le zéro négatif.

 function isNegativeFails(n) { return n < 0; } function isNegative(n) { return ((n = +n) || 1 / n) < 0; } isNegativeFails(-0); // false isNegative(-0); // true Math.max(-0, 0); // 0 Math.min(-0, 0); // -0 

Source: http://cwestblog.com/2014/02/25/javascript-testing-for-negative-zero/