자바스크립트 소수점 처리 'toFixed()', 'toPrecision()'

천둥상어

·

2023. 12. 5. 23:16

반응형

자바스크립트 소수점 처리

 

"자바스크립트에서는 숫자를 다룰 때 소수점을 효과적으로 처리할 수 있는 여러 메서드가 제공됩니다. 
그 중에서도 toFixed()와 toPrecision()은 소수점을 다루는 데 유용한 메서드입니다."

 

toFixed()

toFixed() 메서드는 숫자를 고정 소수점 표기법으로 변환합니다. 

이 메서드는 소수점 이하 자릿수를 인수로 받아 해당 자릿수까지의 숫자를 반환합니다.

let number = 3.14159;
let fixedNumber = number.toFixed(2);

console.log(fixedNumber); // "3.14"

위의 예시에서 toFixed(2)는 소수점 이하 2자리까지 표시하도록 하였습니다. 

반환된 값은 문자열 입니다.

 

toPrecision()

toPrecision() 메서드는 전체 숫자의 유효 자릿수를 지정하여 반환합니다.

let number = 12.3456;
let preciseNumber = number.toPrecision(3);

console.log(preciseNumber); // "12.3"

위의 예시에서 toPrecision(3)는 전체 숫자 중 3자리까지 표시하도록 하였습니다. 

반환된 값은 문자열 입니다.

 

주의 사항

toFixed()toPrecision() 은 자릿수가 변화할 때, 근사치로 변환합니다.

let number = 123.456;
let preciseNumber = number.toFixed(2);
console.log(preciseNumber); // "123.46"

//
let number = 123.456;
let preciseNumber = number.toPrecision(4);

console.log(preciseNumber); // "123.5"

 

정수에 적용하면 지정한 자릿수만큼 0으로 채워 넣습니다.

let number = 10;

console.log(number.toFixed(2)); // '10.00'

console.log(number.toPrecision(4)); // '10.00'

 

연산시 Number()나  parseFloat()를 사용하여 형변환 하여 사용해야 합니다.

위에도 언급했지만, 반환값이 문자열이기 때문에 숫자 연산을 진행할 때 주의가 필요합니다.

let number = '3.14';

console.log(Number(number)); // 3.14

console.log(parseFloat(number)); // 3.14

 

마무리

이 두 메서드는 각각의 특징에 따라 적절한 상황에서 사용됩니다. 

toFixed()는 소수점 이하 자릿수를 고정하고자 할 때 유용하며, 

toPrecision()은 전체 숫자의 유효 자릿수를 지정하고자 할 때 활용됩니다.

반응형