In Javascript kann ich anscheinend keine Methode finden, um Negative auf Null zu setzen.
-90 wird 0
-45 wird 0
0 wird 0
90 wird 90
Gibt es so etwas? Ich habe gerade Zahlen gerundet.
Antworten:
Mach einfach so etwas
value = value < 0 ? 0 : value;
oder
if (value < 0) value = 0;
oder
value = Math.max(0, value);
Math.max
am meisten, weil es nur value
einmal referenziert werden muss
Ich nehme an, Sie könnten verwenden Math.max()
.
var num = 90;
num = Math.max(0,num); // 90
var num = -90;
num = Math.max(0,num); // 0
Math.max(0, NaN)
und Math.max(0, undefined)
zurückkehren, NaN
so dass Sie etwas in diese Richtung tun möchten:Math.max(0, num) || 0
Math.positive = function(num) {
return Math.max(0, num);
}
// or
Math.positive = function(num) {
return num < 0 ? 0 : num;
}
x < 0 ? 0 : x
macht den Job .
Erinnere dich an die negative Null.
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
Quelle: http://cwestblog.com/2014/02/25/javascript-testing-for-negative-zero/
Ich glaube nicht, dass eine solche Funktion mit dem nativen Math-Objekt existiert. Sie sollten ein Skript schreiben, um die Funktion auszufüllen, wenn Sie sie verwenden müssen.