숫자 타입
n
을 인자로 받아 지정한 통화 포맷을 반환하는toCurrency
함수.Intl.NumberFormat
메서드를 사용하면 국가/통화에 대한 sensitive formatting을 활성화할 수 있다.
const toCurrency = (n, currency, LanguageFormat = undefined) =>
Intl.NumberFormat(LanguageFormat, {
style: 'currency',
currency,
}).format(n);
toCurrency(123456.789, 'EUR'); // €123,456.79 | currency: Euro | currencyLangFormat: Local
toCurrency(123456.789, 'USD', 'en-us'); // $123,456.79 | currency: US Dollar | currencyLangFormat: English (United States)
toCurrency(123456.789, 'USD', 'fa'); // ۱۲۳٬۴۵۶٫۷۹ $ | currency: US Dollar | currencyLangFormat: Farsi
toCurrency(322342436423.2435, 'JPY'); // ¥322,342,436,423 | currency: Japanese Yen | currencyLangFormat: Local
toCurrency(322342436423.2435, 'JPY', 'fi'); // 322 342 436 423 ¥ | currency: Japanese Yen | currencyLangFormat: Finnish
currency : KRW
USD
같은 ISO 통화 코드 / 통화 코드 리스트는 링크 참고
LanguageFormat : ko-kr
en-us
같은 Locale 코드 (ko
en
만 입력해도 됨)
['ban', 'id']
navigator.language
) 값 사용숫자 천 단위마다 콤마를 추가할 때도 Intl.NumberFormat
**를 사용할 수 있다. 결과는 toLocaleString
메서드를 사용했을 때와 동일하다.
const number = 123456.789;
// 로케일을 지정하지 않으면 기본 로케일(navigator.language)을 따른다
Intl.NumberFormat().format(number); // '123,456.789'
// 미국, 한국 등의 나라는 천 단위 구분자로 콤마(,)를 사용하고 소수점 구분자로 점(.)을 사용한다
Intl.NumberFormat("ko-KR").format(number); // '123,456.789'
// 독일은 천 단위 구분자로 점(.)을 사용하고 소수점 구분자로 콤마(,)를 사용한다
Intl.NumberFormat("de-DE").format(number); // '123.456,789'
// 로케일을 지정하지 않으면 기본 로케일(navigator.language)을 따른다
number.toLocaleString(); // '123,456.789'
// 미국, 한국 등의 나라는 천 단위 구분자로 콤마(,)를 사용하고 소수점 구분자로 점(.)을 사용한다
number.toLocaleString("ko-KR"); // '123,456.789'
// 독일은 천 단위 구분자로 점(.)을 사용하고 소수점 구분자로 콤마(,)를 사용한다
number.toLocaleString("de-DE"); // '123.456,789'