티스토리 뷰

728x170

"1234.56789" 같은 소수를 갖고 숫자를 보여줄 때, 소수점 2자리까지만 보여주고 싶을 때가 있습니다.

 

먼저 숫자를 소수점 2자리로 반올림하고, 그 숫자를 문자열로 변환하여 출력할 수 있습니다.

 

소수점 2자리로 반올림하는 방법에 대해서 알아보겠습니다.

 

toFixed()로 소수점 2자리까지 반올림

number.toFixed(N)은 소수점 N자리까지 반올림합니다. 아래와 같이 소수점 2자리까지 출력하도록 구현할 수 있습니다.

 

  • 1234.56789를 소수점 3자리에서 반올림하면 1234.57
  • 1234.56555를 소수점 3자리에서 반올림하면 1234.57
  • 1234.56455를 소수점 3자리에서 반올림하면 1234.56
let num = 1234.56789;
let result = num.toFixed(2);
console.log(result);

num = 1234.56555;
result = num.toFixed(2);
console.log(result);

num = 1234.56455;
result = num.toFixed(2);
console.log(result);

실행 결과:

1234.57
1234.57
1234.56

 

문자열을 number 타입으로 변환

참고로, toFixed()는 결과로 string 타입 객체를 리턴합니다. number로 변환하려면 아래와 같이 Number()의 인자로 문자열 숫자를 전달하면서 객체를 생성하면 됩니다.

let num = 1234.56789;
let result = num.toFixed(2);
let newNum = Number(result);
console.log(typeof newNum);
console.log(newNum);

실행 결과:

number
1234.57

 

숫자로 된 문자열 객체

또한, toFixed()는 number 타입 객체만 사용할 수 있습니다. 만약 아래와 같이 문자열 객체에 대해서 사용하면 

let num = "1234.56789";
let result = num.toFixed(2);

아래와 같이 타입 에러가 발생합니다.

Error: 
/home/mjs/js_project/examples/node_f256b318a1de1.tmp.js:2
let result = num.toFixed(2);
                 ^
TypeError: num.toFixed is not a function
    at Object.<anonymous> (/home/mjs/js_project/examples/node_f256b318a1de1.tmp.js:2:18)

 

이럴 때는, parseFloat(numStr)으로 문자열 타입을 number 타입으로 변환하고,  number 객체로 toFixed()를 사용하여 소수점 2자리까지 표현할 수 있습니다.

let numStr = "1234.56789";
let num = parseFloat(numStr);

let result = num.toFixed(2);
console.log(result);

실행 결과:

1234.57
그리드형
공지사항
최근에 올라온 글
최근에 달린 댓글
링크
«   2025/10   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함
세로형