자바스크립트 Intl API를 사용하여 지역화된 숫자 서식 지정하기

숫자는 다양한 지역에서 다르게 표기될 수 있습니다. 예를 들어, 천 단위 구분 기호는 일반적으로 쉼표(,)로 사용되지만, 일부 지역에서는 점(.)을 사용합니다.

자바스크립트에서는 지역화된 숫자를 포맷팅하기 위해 Intl API를 제공합니다. 이 API를 사용하여 숫자를 각 지역에 맞게 서식을 지정할 수 있습니다.

Intl.NumberFormat을 사용한 지역화된 숫자 포맷팅

Intl.NumberFormat은 자바스크립트의 내장된 객체로서, 숫자를 현재 지역에 맞도록 포맷팅해주는 기능을 제공합니다. 다음은 이를 활용한 예시입니다.

const number = 1234567.89;

const formattedNumber = new Intl.NumberFormat('ko-KR').format(number);
console.log(formattedNumber); // 1,234,567.89

위의 코드에서 ko-KR은 한국의 지역화 코드를 나타냅니다. format() 메서드를 사용하여 정수나 부동 소수점 숫자를 문자열로 포맷팅한 결과를 얻을 수 있습니다.

국제화 옵션 설정하기

Intl.NumberFormat은 서식 지정을 위해 여러 가지 옵션을 제공합니다. 일부 자주 사용되는 옵션에 대해 알아보겠습니다.

style

style 옵션은 숫자를 어떤 형태로 표시할지 결정합니다. 기본값은 "decimal"로, 일반적인 숫자 표기 형식을 사용합니다. "currency"를 지정하여 통화 표기 형식으로 숫자를 표시할 수 있고, "percent"를 지정하여 퍼센트 형식으로 표시할 수 있습니다.

const number = 0.75;

const currencyFormatter = new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD' });
console.log(currencyFormatter.format(number)); // $0.75

const percentFormatter = new Intl.NumberFormat('en-US', { style: 'percent' });
console.log(percentFormatter.format(number)); // 75%

minimumFractionDigits, maximumFractionDigits

minimumFractionDigitsmaximumFractionDigits 옵션은 소수점 이하 자릿수의 최소값과 최대값을 설정하는 데 사용됩니다.

const number = 1234.567;

const formatter = new Intl.NumberFormat('en-US', { minimumFractionDigits: 2, maximumFractionDigits: 4 });
console.log(formatter.format(number)); // 1,234.5670

useGrouping

useGrouping 옵션은 천 단위 구분 기호를 사용할지 여부를 설정하는 데 사용됩니다. 기본값은 true로, 구분 기호를 사용합니다. false로 설정하면 구분 기호를 사용하지 않습니다.

const number = 9876543210;

const formatter = new Intl.NumberFormat('en-US', { useGrouping: false });
console.log(formatter.format(number)); // 9876543210

결론

자바스크립트 Intl API를 사용하여 숫자를 지역화된 형태로 포맷팅할 수 있습니다. Intl.NumberFormat을 활용하여 숫자의 서식 및 지역화 옵션을 설정하면, 다른 지역에서도 일관된 숫자 표기 형식을 유지할 수 있습니다.

#javascript #IntlAPI