ProgramingTip

자바 음 펼쳐 수

bestdevel 2020. 12. 9. 21:31
반응형

자바 음 펼쳐 수


숫자가 음수인지 확인하고 싶습니다. 가장 쉬운 방법을 찾고 있으므로 미리 정의 된 자바 펼쳐 놓기 함수가 가장 좋을 것이지만 아직 아무것도 찾지 못합니다. 여기에 지금까지 가지고있는 내용이 좋은 방법이라고 생각하지 않습니다.

  function negative(number) { 
        if (number.match(/^-\d+$/)) {
            return true;
        } else {
            return false;
        }
   }

이 검사를 수행하는 함수를 작성하는 대신 다음 사용할 수 있습니다.

(number < 0)

Javascript는 먼저 먼저 필요한 것을 숫자 값으로 변환하여 0보다 작은 지 확인하기 전에 먼저 평가합니다.


사양 및 세부 사항

, 대한 동작에 §11.8.5 추상 관계 비교 알고리즘 을 사용하는 §11.8.1 미만 연산자 ( )에x < y 지정되어 있습니다.<

x둘 다 y공유 인 경우는 많이 다르지만 오른쪽이 이미에서 (number < 0)숫자 적으로 숫자 비교는 왼쪽을 숫자로 맞추고 변환하려고 시도합니다. 왼쪽을 숫자로 변환 할 수없는 경우 결과는 false입니다.

이는 정규식 기반 접근 방식과 할 수있는 다른 결과를 제공 할 수 있습니다.

  • "-0" < 0이다 false는 사실과 일치하는, -0 < 0또한 false(다음을 참조하십시오 제로 서명 ).
  • "-Infinity" < 0이다 true(무한대는 인정)
  • "-1e0" < 0is true(과학적 표기법 리터럴이 허용됨)
  • "-0x1" < 0is true(16 진수 리터럴 허용)
  • " -1 " < 0is true(일부 형태의 공백이 허용됨)

위의 각 예에 대해 정규식 메서드 는 반대로 평가됩니다 ( true대신 false또는 그 반대).

참고 문헌

또한 사진


1 차 : 조건부 연산자 ?:

또한이 형식의는 다음과 가변적입니다.

if (someCondition) {
   return valueForTrue;
} else {
   return valueForFalse;
}

삼항 / 조건부 ?:연산자 ( §11.12 )를 사용하여 간단히 다음 을 수행하도록 할 수 있습니다 .

return (someCondition) ? valueForTrue : valueForFalse;

의 관용적 사용은 ?:코드를 더 간결하고 읽기 쉽게 만들 수 있습니다.

관련 질문


2 : 유형 변환 함수

Javascript에는 다양한 유형 변환을 수행하기 위해 호출 할 수있는 함수가 있습니다.

다음과 같은 것 :

if (someVariable) {
   return true;
} else {
   return false;
}

?:연산자를 사용하여 리팩토링하여 다음을 수행 할 수 있습니다 .

return (someVariable ? true : false);

그러나 더 단순화하여 다음을 수행 할 수도 있습니다.

return Boolean(someVariable);

CHAPTER 2 형식을 원하는 수행 Boolean하는 함수 ( §15.16.1 )로 호출 됩니다 . 마침 Number함수 ( §15.17.1 )로 호출 하여 숫자 로 변환 할 수 있습니다.

관련 질문


function negative(n) {
  return n < 0;
}

정규식은 작동하지만 아마도 더 빠를 것입니다. (위의 인용의 주석에서 편집, 변환 +n이 필요하지 않습니다.)


이것은 오래된 질문이지만 많은 견해를 가지고 있으므로 업데이트하는 것이 중요하다고 생각합니다.

ECMAScript 6은 Math.sign()숫자의 부호 (양수이면 1, 음수이면 -1) 또는 숫자가 아니면 NaN을 반환 하는 함수를 가져 왔습니다 . 참고

다음과 같이 사용할 수 있습니다.

var number = 1;

if(Math.sign(number) === 1){
    alert("I'm positive");
}else if(Math.sign(number) === -1){
    alert("I'm negative");
}else{
    alert("I'm not a number");
}

다음과 같이 간단한 것은 어떻습니까?

function negative(number){
    return number < 0;
}

* 1부분은 숫자로 문자열을 변환하는 것입니다.


ES6에서는 Math.sign 함수를 사용하여 다음 사항을 확인할 수 있습니다.

1. its +ve no
2. its -ve no
3. its zero (0)
4. its NaN


console.log(Math.sign(1))        // prints 1 
console.log(Math.sign(-1))       // prints -1
console.log(Math.sign(0))        // prints 0
console.log(Math.sign("abcd"))   // prints NaN

참고 URL : https://stackoverflow.com/questions/3571717/javascript-negative-number

반응형