Javascript에서 음수를 0으로 설정하는 방법을 찾을 수 없습니까?
-90이 0이 됨
-45가 0이 됨 0이
0이 됨
90이 90이 됨
그런 건 없나요? 반올림 된 숫자가 있습니다.
답변
그냥하세요
value = value < 0 ? 0 : value;
또는
if (value < 0) value = 0;
또는
value = Math.max(0, value);
답변
나는 당신이 사용할 수 있다고 생각합니다 Math.max()
.
var num = 90;
num = Math.max(0,num); // 90
var num = -90;
num = Math.max(0,num); // 0
답변
똑똑해지고 싶다면 :
num = (num + Math.abs(num)) / 2;
그러나 Math.max
조건부 연산자가 훨씬 더 이해하기 쉽습니다.
또한 이것은 많은 수에 대한 정밀도 문제가 있습니다.
답변
Math.positive = function(num) {
return Math.max(0, num);
}
// or
Math.positive = function(num) {
return num < 0 ? 0 : num;
}
답변
x < 0 ? 0 : x
일을합니다.
답변
음의 0을 기억하십시오.
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
출처 : http://cwestblog.com/2014/02/25/javascript-testing-for-negative-zero/
답변
이러한 함수가 네이티브 Math 개체에 존재한다고 생각하지 않습니다. 필요한 경우 함수를 채우는 스크립트를 작성해야합니다.