JavaScript의 toPrecision()은 Number 객체에서 제공하는 내장 메서드로, 현재 숫자를 지정된 정밀도(유효 자릿수)에 맞춰 표현한 문자열을 반환합니다. 인수로 전달하는 값은 결과에 포함될 유효 숫자의 총 개수를 의미하며, 필요에 따라 지수 표기법(e+3 등)이 자동으로 적용될 수 있습니다.
문법
toPrecision() 메서드의 기본 문법은 다음과 같습니다.
num.toPrecision(num);
매개변수 설명
num: 결과 문자열에 포함할 유효 자릿수를 나타내는 정수입니다. 이 값을 생략하면 원래 숫자가 그대로 문자열 형태로 반환됩니다.
예제 1: 유효 자릿수 지정하기
아래 예제에서는 숫자 3325.462를 유효 자릿수 2개로 변환합니다.
<html>
<head>
<title>JavaScript Example</title>
</head>
<body>
<script type="text/javascript">
var num = 3325.462;
result = num.toPrecision(2);
document.write("Result: " + result);
</script>
</body>
</html>
실행 결과
Result: 3.3e+3
지정한 유효 자릿수(2)가 정수부 자릿수보다 작기 때문에, JavaScript는 숫자를 지수 표기법으로 변환하여 3.3e+3(즉, 3300)으로 출력합니다.
예제 2: 인수 생략하기
인수 없이 호출하면 원래 숫자 값이 그대로 유지되어 반환됩니다.
<html>
<head>
<title>JavaScript Example</title>
</head>
<body>
<script type="text/javascript">
var num = 3325.462;
result = num.toPrecision();
document.write("Result: " + result);
</script>
</body>
</html>
실행 결과
Result: 3325.462
인수를 생략한 경우에는 정밀도 조정 없이 원본 숫자인 3325.462가 그대로 문자열로 반환되는 것을 확인할 수 있습니다.
정리
toPrecision()은 소수점 이하 자릿수를 고정하는 toFixed()와 달리, 숫자 전체의 유효 자릿수를 기준으로 값을 조정한다는 점이 특징입니다. 데이터 시각화나 수치 계산 결과를 일관된 형식으로 표시해야 할 때 유용하게 활용할 수 있습니다.