ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JavaScript 입문 : 소수점 2자리 수 반올림
    컴퓨터 알아가기/JavaScript 2022. 8. 8. 19:30
    728x90
    반응형

    자바스크립트에서 소수점 기준점을 정해주는 경우가 대부분인데 기본적으로 소수점 2자리를 기준으로 반올림하는 경우를 알아보도록 하겠습니다. 

     

    지난시간 배운 toFixed( ) 메소드를 포함하여 가장 정확하게 사용할 수 있는 메소드를 정리하도록 하겠습니다. 

     

    1. toFixed( ) 메소드로 소수 2자리수 이하 반올림

     

    우선 toFixed(  )를 사용하면 소수점 2자리 이하를 버리고 반올림이 되는 것처럼 보입니다. 

     

    그러나 다음의 경우 소수 2자리가 표현되지 않습니다. 심지어는 반올림도 되지 않고요. 

     

    경우에 따라서 정확한 결과값을 보장할 수 없는 메소드이네요. 

     

    2. Math.round(  ) 메소드로 소수점 2자리 수 반올림

     

    반올림의 메소드라고 하면 Math.round(  ) 입니다. 소수점 2자리를 만든다는 것은 마지막 결과값에 100을 나누어 준다는 의미입니다.  논리적으로 생각해서 원본에 100을 곱하고 100을 나누어주면 소수점 2자리가 보여질 수 있습니다. 

     

     

    결과값은 정확한데 소수점 이하가 0인 경우는 소수점 2자리수가 표시가 되지 않고 있습니다. 

     

     

    만일 1.005를 소수점 2자리에서 반올림하면 1.01이 되어야 하는데 결과값이 1로 나오기때문에 이또한 완벽한 솔루션이 될수는 없습니다. 

     

     

    3. toPrecision(  ) 메소드를 사용하여 소수점 2자리 반올림

     

    toPrecision의 사용법은 괄호안에 전체 보여지는 숫자의 갯수를 표시합니다. 예를 들어 123.1234의 소수점 2자리까지 반올림한 숫자를 나타내기 위해 toPrecision(5) 로 명령합니다. 

     

     

    Math.round(  )에서 에러가 난 1.005를 수수점 2자리에서 반올림해 보도록 하겠습니다. 반영이 되지 않습니다. 게다가 문자열이구요.

     

     

    4. Math,round(  )와 toPrecision(  )을 활용한 함수

     

    정확한 반올림을 구하기 위해서는 주어진 수를 절대값으로 만들고 진행하면 됩니다. 절대값은 Math.abs( )로 사용하면 됩니다.

    절대값을 사용하면 결과값은 양수로 나타나고 최종 음수일 경우 Math.sign(  ) 값을 곱해주면 됩니다.

     

    주의할 점은 toPrecision(  )에서 괄호안의 숫자를 쓰지 않으면 전체를 나타내기 때문에 부동소수점이 절대깝이 됩니다. 따라서 진정한 절대값을 만들려면 부동소수점 자리수를 지정해주어야 합니다. 

     

    편하게 10개 정도 지정하고 함수를 만들어 봅니다. 1.005의 반올림을 구하는 함수는 다음과 같습니다. 

     

     

    두 메소드를 활용하니 정확하게 구할 수 있게 되었습니다. 만일 음수의 반올림이면 return값에 Math.sign(  )값을 곱해주면 됩니다. 

    반응형

    댓글

이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
Designed by Tistory.