자바스크립트를 사용하여
숫자가 음수인지 양수인지 알려면 여떻게하면 될까요? 그리고 항상 양수만 또는 항상 음수만 얻는 방법도 알아봅니다.
# 자바스크립트 양수, 음수 판단하기
양수와 음수의 기준이 되는 0을 사용하여 그 여부를 판단할 수 있습니다.
즉 0보다 작으면 음수이고 크면 양수가 되겠죠. 이때 사용가능한 방법으로 Math.sign() 함수가 있습니다. Math.sign()는 아래 링크에서 확인이 가능합니다 아래는 다른 방법을 알아보겠습니다.
Math.sign() 링크 바로가기 >https://webisfree.com/2020-07-24/자바스크립트-math-sign()-알아보기음수, 양수 결과를 알아내기 위해서 isPositive() 함수를 만들어보려고합니다.
isPositive = function(num) {
return num >= 0;
};
이제 함수로 넘어온 파라미터 num는 0보다 크거나 같은 경우 양수이므로 true를 반환하고 아니면 false를 반환하게 됩니다.
몇 가지 값을 위 함수를 사용해 결과를 확인해보겠습니다.
isPositive(5);
// true
isPositive(3);
// true
isPositive(0);
// true
isPositive(-1);
// false
예상대로 양수와 음수가 true, false 결과로 나타났습니다.
아래는 위 함수가 동작하는 입력폼입니다. 값을 넣어 그 결과를 직접 확인하세요.
@ isPositive() 구현 예제<p>입력하신 숫자는 <b id="test">(양수 또는 음수)</b>입니다.<br />
<input type="number" onkeyup="isPositive(event)" />
<script>
window.isPositive = function(event) {
const num = event.target.value;
const result = num >= 0 ? '양수' : '음수';
const ele = document.getElementById('test');
ele.innerHTML = result;
};
</script>
여기까지 자바스크립트에서 양수와 음수를 확인하는 방법에 알아보았습니다. 위 예제의 전체 코드는 아래와 같습니다.
<p>입력하신 숫자는 <b id="test">(양수 또는 음수)</b>입니다.<br />
<input type="number" onkeyup="isPositive(event)" />
<script>
window.isPositive = function(event) {
const num = event.target.value;
const result = num >= 0 ? '양수' : '음수';
const ele = document.getElementById('test');
ele.innerHTML = result;
};
</script>
테스트를 위해서 test 이름의 id를 가진 텍스트에 양수, 음수로 출력되도록 하였습니다.
! 항상 양수 또는 음수만 얻는 방법
만약 항상 양수 또는 음수만 얻으려면 어떻게 할까요? 학창시절 배웠던 방법처럼 제곱에 루트를 사용할 수 있습니다. 즉 양수만 얻을 수 있다면? 여기서 -1을 곱해 음수도 얻을 수 있겠죠. 아래 코드를 봐주세요.
let num = -5;
num = Math.sqrt(Math.pow(num, 2), 2);
위 코드는 num -5의 값에 제곱에 루트를 사용하여 양수값 5를 얻은 결과입니다. 제곱과 루트를 얻기 위해서 아래의 방법을 사용했습니다.
Math.sqrt() // 루트 값 얻기
Math.pow(x, n) // x의 n 제곱의 값 얻기
여기까지 자바스크립트를 사용해서 양수만 얻는 방법을 알아봤습니다.