자바 스크립트 수학 객체 메소드-음수를 0으로 Javascript에서 음수를 0으로

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 개체에 존재한다고 생각하지 않습니다. 필요한 경우 함수를 채우는 스크립트를 작성해야합니다.