Number.prototype.toFixed() (대혼돈의 코딩버스)

이예빈·2022년 9월 12일
0

JavaScript

목록 보기
21/26
post-thumbnail

백준 알고리즘 문제를 푸는데 평균을 내야하는 문제가 있었다.
콘솔에는 예시 정답과 똑같이 나오는 것 같은데 도대체 뭘까 하면서 구글링을 하다가
toFixed라는 메서드를 알게 되었다.

toFixed를 알기 전 나의 애송이같은 코드

let result = `${Math.round(count / N * 100000)/1000}`;
    if(result.includes('.')){
        while(result.length < 6){
            result += '0';
        }
    }
    else {result += '.000'}

지금 보니 한심하기 짝이 없다... 아휴...


toFixed를 사용한 애송이의 코드

let result = `${(count / N * 100).toFixed(3)}`;

Number.prototype.toFixed()

toFixed() 메서드는 숫자를 고정 소수점 표기법(fixed-point notation)으로 표시한다.

👀 사용 문법: 숫자. toFixed( [소수점 뒤의 자릿수] )

소수점 뒤의 자릿수는 0 ~ 20까지의 값을 사용할 수 있다. 생략시 0으로 처리됨.

예시

const number = 1234.567;
number.toFixed() // 1235 (소수점 첫 째 자리에서 반올림)
number.toFixed(1) // 1234.6 (소수점 둘 째 자리에서 반올림)

2.55.toFixed(1) // 2.5 (소수점 둘 째 자리에서 반올...어? 😨)

부동 소수점 수는 모든 소수 점을 정확하게 2진수로 나타낼 수 없다.
이로 인해 0.1 + 0.2 === 0.3은 false로 출력된다.

다음 블로그는 이 것에 대해 글을 써봐야겠다.

reference

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toFixed

profile
temporary potato

0개의 댓글