w Javascript nie mogę znaleźć metody ustawiania negatywów na zero?
-90 staje się 0
-45 staje się 0
0 staje się 0
90 staje się 90
Czy jest coś takiego? Właśnie zaokrągliłem liczby.
javascript
math
negative-number
FFish
źródło
źródło
Math.max
Najbardziej podoba mi się ten, ponieważ wymaga tylkovalue
jednego odwołaniaPrzypuszczam, że możesz użyć
Math.max()
.var num = 90; num = Math.max(0,num); // 90 var num = -90; num = Math.max(0,num); // 0
źródło
Math.max(0, NaN)
iMath.max(0, undefined)
wróć,NaN
więc możesz zrobić coś w ten sposób:Math.max(0, num) || 0
Jeśli chcesz być sprytny:
num = (num + Math.abs(num)) / 2;
Jednak
Math.max
operator warunkowy byłby znacznie bardziej zrozumiały.W przypadku dużych liczb powoduje to również problemy z precyzją.
źródło
Math.positive = function(num) { return Math.max(0, num); } // or Math.positive = function(num) { return num < 0 ? 0 : num; }
źródło
x < 0 ? 0 : x
wykonuje pracę .źródło
Zapamiętaj ujemne zero.
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
Źródło: http://cwestblog.com/2014/02/25/javascript-testing-for-negative-zero/
źródło
Nie wierzę, że taka funkcja istnieje w natywnym obiekcie Math. Powinieneś napisać skrypt, który wypełni funkcję, jeśli chcesz jej użyć.
źródło