Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript에서 숫자의 소수 부분을 구하는 방법 – % 연산자 완벽 가이드

JavaScript에서 숫자의 소수점 이하 부분만 추출하고 싶다면 %(나머지) 연산자를 활용하면 됩니다. 숫자를 1로 나눈 나머지를 구하면 정수 부분은 제거되고 소수 부분만 남게 되는 간단한 원리입니다.

핵심 원리

num % 1 표현식은 num을 1로 나눈 나머지를 반환합니다. 예를 들어 5.3을 1로 나누면 몫은 5, 나머지는 0.3이 되므로 결과적으로 소수 부분인 0.3을 얻을 수 있습니다.

예제 코드

아래 코드를 직접 실행해 보면서 동작을 확인해 보세요.

<!DOCTYPE html>
<html>
   <body>
      <script>
         var num1 = 5.3;
         var num2 = 4.2;
         var num3 = 8.6;

         document.write(num1 % 1);
         document.write("<br>" + num2 % 1);
         document.write("<br>" + num3 % 1);
      </script>
   </body>
</html>

실행 결과

0.2999999999999998
0.20000000000000018
0.5999999999999996

부동소수점 오차 이해하기

출력 결과가 기대했던 0.3, 0.2, 0.6과 미세하게 다른 것을 확인할 수 있습니다. 이는 JavaScript가 숫자를 IEEE 754 배정밀도 부동소수점 방식으로 처리하기 때문에 발생하는 자연스러운 현상이며, 코드의 오류가 아닙니다.

사람이 읽기 좋은 형태로 표시하려면 toFixed() 메서드나 Math.round()를 함께 사용하여 소수 자릿수를 지정하면 됩니다. 예를 들어 (num1 % 1).toFixed(1)을 실행하면 깔끔하게 "0.3"이 출력됩니다.

정리

  • % 연산자와 1을 조합한 num % 1 표현식으로 숫자의 소수 부분을 손쉽게 구할 수 있습니다.
  • 결과에 미세한 오차가 나타나는 것은 부동소수점 연산의 특성이며, 필요에 따라 반올림 처리를 통해 해결할 수 있습니다.