자바스크립트는 다국어 환경에서 숫자를 표시할 때, 각 지역에 맞는 형식으로 보여주어야 합니다. 예를 들어, 미국에서는 천 단위마다 쉼표(,)를 사용하지만, 유럽에서는 점(.)을 사용합니다. 이와 같은 지역화된 숫자 형식을 적용하기 위해서는 자바스크립트의 Intl API를 사용하면 됩니다.
Intl API는 자바스크립트에서 지역화된 기능을 사용할 수 있는 내장 객체입니다. 특히, Intl.NumberFormat
객체를 사용하면 숫자를 형식화할 수 있습니다. 아래는 예시 코드입니다.
// 현재 지역에 맞는 숫자 형식을 사용하여 숫자를 형식화합니다.
const number = 1000;
const formattedNumber = new Intl.NumberFormat().format(number);
console.log(formattedNumber);
// 출력값: "1,000" (미국)
// 출력값: "1.000" (유럽)
위 코드에서 Intl.NumberFormat
객체를 생성하고 format
메서드를 사용하여 숫자를 형식화하였습니다. 이때, NumberFormat
생성자에 언어 및 지역 옵션을 지정하지 않은 경우, 현재 사용자의 브라우저 설정에 따라 형식이 결정됩니다.
만약 특정 지역의 숫자 형식을 사용하고 싶다면, NumberFormat
생성자에 옵션을 전달하여 설정할 수 있습니다. 아래는 미국 지역의 숫자 형식을 사용하는 예시 코드입니다.
const number = 1000;
const options = {
style: 'decimal',
useGrouping: true,
notation: 'standard',
};
const formatter = new Intl.NumberFormat('en-US', options);
const formattedNumber = formatter.format(number);
console.log(formattedNumber);
// 출력값: "1,000"
위 코드에서는 number
변수를 en-US
옵션으로 생성한 NumberFormat
객체를 사용하여 형식화하였습니다. options
객체에 style
, useGrouping
, notation
등의 옵션을 설정하여 원하는 형식을 지정할 수 있습니다.
자바스크립트 Intl API를 사용하면 다국어 환경에서 숫자를 지역화된 형식으로 표시하는 것이 간단하고 편리합니다. 형식을 지정하여 숫자를 형식화하는 방법을 익히면, 사용자에게 더 직관적이고 친숙한 경험을 제공할 수 있습니다.
참고 자료:
-
[Intl.NumberFormat - JavaScript MDN](https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/NumberFormat) -
[Intl - JavaScript MDN](https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Intl)