javascript

[javascript] 금액 표시할 때, 원화 ₩(원), 달러, 통화기호 표기 방법

개발자먼지 2024. 5. 13. 22:49
반응형

금액을 표시할 때 뭔가 빠진것 같다 싶었는데, 콤마도 찍고 통화 기호도 찍어주어야했다.
하지만 이정도는 추가 라이브러리 설치 없이도 다 제공..^.^

아래 3가지 방법이 있다.

1. 내장 라이브러리 Intl.Numberformat 사용하기

지역 및 통화 옵션 설정 시 알아서 표기해줌!

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat

const number = 123456.789;

console.log(
  new Intl.NumberFormat('ko-KR', { style: 'currency', currency: 'KRW' }).format(
    number,
  ),
);
// Expected output: "₩123,457"
// 자주 사용해야 할 경우 이렇게 저장해두기

export let won = Intl.NumberFormat("ko-KR", {
  style: "currency",
  currency: "KRW",
});

won.format(3500) // 사용

 

2. 1번이 조금 헤비하다고 하면 ? toLocaleString()

 

로컬설정으로 단위마다 콤마(,)를 찍어주기만 하고, 유니코드로 ₩(원) 기호 표기 (ㄹ + 한자 + 3) 가능

달러($) (ㄹ + 한자 + 1) 

원(₩) 표기 (ㄹ + 한자 + 3)

... 등등

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString

var number = 3500;

console.log(number.toLocaleString()); //  3,500 디폴트는 us기준으로 표시됨
console.log(number.toLocaleString('ko-KR')); // 3,500 한국기준

 

 

3. toLocaleString() 에도 통화기호 표시 옵션이 있음

Intl.Number API를 지원하는 환경에서 정확히 동일한 매개변수로 사용 가능.
따라서 거의 동일하지만 조금 더 간단해 보인다. ^.^

const number = 123456.789;

console.log(
  number.toLocaleString("de-DE", { style: "currency", currency: "EUR" }),
);
// 123.456,79 €

 

반응형