en Javascript Je n'arrive pas à trouver une méthode pour mettre 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 d'arrondir les chiffres.
en Javascript Je n'arrive pas à trouver une méthode pour mettre 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 d'arrondir les chiffres.
Fais juste quelque chose comme
value = value < 0 ? 0 : value;
ou
if (value < 0) value = 0;
ou
value = Math.max(0, value);
Math.max
un des plus, car il ne nécessite que le référencementvalue
une foisJe 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
la source
Math.max(0, NaN)
et leMath.max(0, undefined)
retourNaN
, vous voudrez peut-être faire quelque chose duMath.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.En outre, cela pose des problèmes de précision pour les grands nombres.
la source
Math.positive = function(num) { return Math.max(0, num); } // or Math.positive = function(num) { return num < 0 ? 0 : num; }
la source
x < 0 ? 0 : x
Fait le travail .la source
Souvenez-vous du 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/
la source
Je ne crois pas qu'une telle fonction existe avec l'objet Math natif. Vous devez écrire un script pour remplir la fonction si vous devez l'utiliser.
la source