지역화는 웹 애플리케이션에서 중요한 요소입니다. 사용자들이 통화를 표시할 때 자신의 지역에 맞는 형식으로 통화를 변환해 줄 필요가 있습니다. 자바스크립트 Intl API를 사용하면 간단하게 이 작업을 수행할 수 있습니다.
Intl.NumberFormat을 사용하여 통화 변환하기
Intl.NumberFormat은 자바스크립트에서 지역화된 숫자 형식을 지원하는 객체입니다. 통화를 변환하기 위해 사용할 수 있습니다.
// 통화를 변환할 수량과 통화 코드 설정
const amount = 12345.67;
const currencyCode = "USD";
// Intl.NumberFormat 객체 생성
const formatter = new Intl.NumberFormat('en-US', {
style: 'currency',
currency: currencyCode,
});
// 숫자를 통화 형식으로 변환
const formattedAmount = formatter.format(amount);
console.log(formattedAmount);
위의 코드에서는 amount
변수에 변환할 통화의 수량을 저장하고, currencyCode
변수에 통화 코드를 설정합니다. 그리고 Intl.NumberFormat
객체를 생성하여 style
속성을 ‘currency’로 설정하고, currency
속성에 currencyCode
변수를 할당합니다.
formatter.format(amount)
를 호출하여 amount
변수를 통화 형식으로 변환합니다. 이렇게 변환된 통화를 formattedAmount
변수에 저장하고, console.log
함수를 통해 결과를 출력합니다.
위의 코드를 실행하면, 12345.67
가 미국 달러 통화 형식으로 변환되어 $12,345.67
가 출력됩니다.
다른 언어 및 지역에 대한 통화 변환
Intl.NumberFormat
객체를 생성할 때 첫 번째 인자에 언어 및 지역 코드를 설정하는데, 이를 통해 다른 언어 및 지역에 맞는 통화 형식으로 변환할 수 있습니다.
const amount = 12345.67;
const currencyCode = "EUR";
// 영어로 통화 변환
const formatterEn = new Intl.NumberFormat('en-US', {
style: 'currency',
currency: currencyCode,
});
// 독일어로 통화 변환
const formatterDe = new Intl.NumberFormat('de-DE', {
style: 'currency',
currency: currencyCode,
});
const formattedAmountEn = formatterEn.format(amount);
const formattedAmountDe = formatterDe.format(amount);
console.log(formattedAmountEn); // €12,345.67
console.log(formattedAmountDe); // 12.345,67 €
위의 코드는 currencyCode
변수를 “EUR”로 설정하고, 영어로 변환한 통화 형식과 독일어로 변환한 통화 형식을 출력하는 예시입니다. ‘en-US’는 영어 (미국) 지역을, ‘de-DE’는 독일어 (독일) 지역을 나타냅니다. 각각의 지역에 맞는 통화 형식으로 변환이 가능하며, 위의 예시에서는 미국 달러가 미국 영어 형식과 독일어 형식으로 변환되었습니다.
결론
자바스크립트의 Intl API를 사용하여 지역화된 통화 변환은 간단하게 수행할 수 있습니다. Intl.NumberFormat 객체를 사용하여 숫자를 통화 형식으로 변환하고, 언어 및 지역 코드를 설정하여 원하는 형식으로 변환할 수 있습니다. 이를 활용하여 사용자들에게 더 나은 지역화 경험을 제공할 수 있습니다.
참고 자료
-
[Intl - JavaScript MDN](https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Intl)