티스토리 뷰
자바스크립트에서 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()은 문자열을 반환한다는 것이며, 숫자 값을 변경하지는 않는다. 사용하는 용도에 따라 필요에 따라 문자열로 변환된 숫자 값을 다시 숫자로 변환하여 사용해야한다.
'Web > JavaScript & JQuery' 카테고리의 다른 글
[JavaScript] 자바스크립트 Apply 함수 (0) | 2023.05.18 |
---|---|
[JavaScript] ... 스프레드(spread) 문법 (0) | 2023.05.18 |
[JavaScript] 소수점 반올림, 올림, 내림(ceil, floor, round, trunc) (0) | 2023.05.18 |
[JavaScript] var, let, const 차이점과 쓰는 방법 추천 (0) | 2023.05.17 |
[JavaScript] 천단위 콤마 찍기, 소수점 포함 (0) | 2018.11.20 |