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.
javascript
math
negative-number
FFish
quelle
quelle
Math.max
am meisten, weil es nurvalue
einmal referenziert werden mussIch 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
quelle
Math.max(0, NaN)
undMath.max(0, undefined)
zurückkehren,NaN
so dass Sie etwas in diese Richtung tun möchten:Math.max(0, num) || 0
Wenn du schlau sein willst:
num = (num + Math.abs(num)) / 2;
Ein
Math.max
bedingter Operator wäre jedoch viel verständlicher.Dies hat auch Präzisionsprobleme für große Zahlen.
quelle
Math.positive = function(num) { return Math.max(0, num); } // or Math.positive = function(num) { return num < 0 ? 0 : num; }
quelle
x < 0 ? 0 : x
macht den Job .quelle
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/
quelle
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.
quelle