티스토리 뷰

반응형

자바스크립트에서 Math 함수를 사용하지 않고도 소수점 처리를 할 수 있다. 바로 toFixed()와 toPrecision()을 사용하는 것이다. 

toFixed()와 toPrecision()은 숫자를 특정 자릿수로 제한하는데 사용되는 함수라는 공통점이 있다.


toFixed

toFixed(digits) : 숫자를 소수점 이하 digits 자릿수까지 반올림하여 문자열로 반환한다. 고정된 소수 자릿수로 포맷하며, 반환된 문자열은 지정된 소수 자릿수까지 소수점 이하의 숫자를 포함한다.

const num = 3.14159; 

console.log(num.toFixed(2)); // 출력 결과: "3.14" 
console.log(num.toFixed(4)); // 출력 결과: "3.1416" 
console.log(num.toFixed(0)); // 출력 결과: "3"

위 코드에서 num.toFixed(2)는 소수점 이하 두 자리까지 표시하며, num.toFixed(4)는 소수점 이하 네 자리까지 표시한다.  num.toFixed(0)은 소수점 이하를 표시하지 않고 정수 부분만 남긴다.

 

const num = 4.5678;

console.log(num.toFixed(2)); // 출력 결과: "4.57"
console.log(num.toFixed(0)); // 출력 결과: "5"

위 코드에서 num.toFixed(2)는 소수 자릿수를 2로 지정하여 소수를 반올림한 후 '4.57'이라는 문자열을 반환한다. num.toFixed(0)은 소수 자릿수를 0으로 지정하여 소수점 이하를 모두 버리고 '5'라는 문자열을 반환한다.

 

 


toPrecision

toPrecision(digits) : 숫자를 전체 자릿수 digits로 반올림하여 문자열로 반환한다. 숫자를 지정된 전체 자릿수로 포맷하며, 전체 자릿수에 따라 정수 또는 지수 형식으로 표현될 수 있다. 이때, 소수점 이하 자릿수도 포함된다.

const num = 123.456;

console.log(num.toPrecision(4)); // 출력 결과: "123.5"
console.log(num.toPrecision(6)); // 출력 결과: "123.456"
console.log(num.toPrecision(2)); // 출력 결과: "1.2e+2"
console.log(num.toPrecision(7)); // 출력 결과: "123.4560"

위 코드에서 num.toPrecision(4)는 전체 자릿수를 4로 제한하여 반올림하며, num.toPrecision(6)은 전체 자릿수를 6으로 유지한다. num.toPrecision(2)는 전체 자릿수를 2로 제한하고 지수 표기법을 사용한다.

const num = -1234.5678;

console.log(num.toPrecision(4)); // 출력 결과: "-1235"
console.log(num.toPrecision(6)); // 출력 결과: "-1234.57"
console.log(num.toPrecision(2)); // 출력 결과: "-1.2e+3"
console.log(num.toPrecision(7)); // 출력 결과: "-1234.568"

위 코드에서 num.toPrecision(4)는 전체 자릿수를 4로 지정하여 '-1235'라는 문자열을 반환한다. num.toPrecision(7)은 전체 자릿수를 7로 지정하여 '-1234.568'이라는 문자열을 반환한다.


toFixed()와 toPrecision() 함수를 사용하면 숫자를 원하는 자릿수로 제한할 수 있다.

 

주의할 점은 toFixed()와 toPrecision()은 문자열을 반환한다는 것이며, 숫자 값을 변경하지는 않는다. 사용하는 용도에 따라 필요에 따라 문자열로 변환된 숫자 값을 다시 숫자로 변환하여 사용해야한다.

반응형
댓글
공지사항