자바스크립트의 숫자는 객체로 다뤄지기 때문에 다양한 메서드를 사용할 수 있다. 이 중에서도 실무에서 자주 사용되는 두 가지 메서드를 정리했다:
toFixed
와toString
.
toFixed
메서드toFixed
는 숫자의 소수점 아래 자릿수를 고정하는 데 사용된다.
const myNumber = 0.3591;
// 소수점 아래 3자리까지 고정
const fixedNumber = myNumber.toFixed(3);
console.log(fixedNumber); // 출력: "0.359"
// 자릿수 초과시 0으로 채움
console.log(myNumber.toFixed(7)); // 출력: "0.3591000"
결과는 문자열
const result = myNumber.toFixed(3);
console.log(typeof result); // 출력: "string"
숫자로 변환하기
Number
함수를 사용하거나 +
기호를 활용할 수 있다.const numResult = Number(myNumber.toFixed(3));
console.log(numResult); // 출력: 0.359
// 더 간단한 방법
const numResult2 = +myNumber.toFixed(3);
console.log(numResult2); // 출력: 0.359
+
기호를 붙이면 Number()
함수와 동일한 효과를 낸다.const result = +myNumber.toFixed(2);
console.log(result); // 출력: 0.36
toString
메서드toString
은 숫자를 문자열로 변환하는 메서드다.
const number = 255;
// 2진수로 변환
console.log(number.toString(2)); // 출력: "11111111"
// 16진수로 변환
console.log(number.toString(16)); // 출력: "ff"
```jsx
const decimal = 42;
console.log(decimal.toString(2)); // 출력: "101010" (2진수)
console.log(decimal.toString(8)); // 출력: "52" (8진수)
console.log(decimal.toString(16)); // 출력: "2a" (16진수)
```
const binaryString = number.toString(2);
const binaryNumber = parseInt(binaryString, 2); // 다시 숫자로 변환
console.log(binaryNumber); // 출력: 255
숫자형 메서드는 변수에 담지 않고 바로 사용할 수도 있다. 하지만 정수 뒤에 점(.
)을 찍으면 소수점으로 오인될 수 있으므로 에러가 발생한다.
// 이렇게 하면 에러 발생
// console.log(255.toString(16));
// 해결 방법
console.log(255..toString(16)); // 출력: "ff" (점 두 개 사용)
console.log((255).toString(16)); // 출력: "ff" (괄호로 감싸기)
..
) 방식은 혼동을 줄 수 있으므로 괄호를 사용하는 방법이나 변수에 담아서 사용하는 방식이 더 가독성이 좋다.const number = 255;
console.log(number.toString(16)); // 출력: "ff"
toFixed
: 숫자의 소수점 아래 자릿수를 고정하며 결과는 문자열로 반환된다.
- 반환된 값을 숫자로 사용하려면
Number()
또는+
를 활용.toString
: 숫자를 문자열로 변환하며, 진법 변환도 가능하다.
- 2~36 진법까지 변환 가능.
- 정수에 메서드 호출 시 주의:
- 점 두 개(
..
)를 사용하거나 괄호로 감싸야 에러를 방지할 수 있다.- 숫자형 메서드는 가독성과 안전성을 고려해 적절한 방식으로 활용하자.