Computer >> 컴퓨터 >  >> 프로그래밍 >> HTML

JavaScript toLocaleString() 함수 완벽 가이드 – 숫자를 현지 언어 형식으로 변환하기

toLocaleString() 함수는 JavaScript Number 객체의 내장 메서드로, 숫자를 받아 지정된 로케일(locale), 즉 특정 언어와 지역의 형식에 맞게 표현된 문자열을 반환합니다.

같은 숫자라도 언어권마다 표기 방식이 다릅니다. 예를 들어 한국어에서는 천 단위를 콤마(,)로 구분하지만, 독일어에서는 마침표(.)를 사용하고, 이집트 아랍어에서는 아랍 숫자를 사용합니다. 이처럼 언어별 숫자 표기 차이를 손쉽게 처리할 수 있도록 도와주는 함수가 바로 toLocaleString()입니다.

구문

기본 구문은 다음과 같습니다.

num.toLocaleString(locales);

인수 locales에는 BCP 47 언어 태그(예: 'ko-KR', 'ar-EG', 'en-US')를 문자열로 전달할 수 있습니다. 인수를 생략하면 브라우저나 실행 환경의 기본 로케일이 자동으로 적용됩니다.

예제

다음 예제에서는 숫자 3325를 이집트 아랍어('ar-EG') 로케일 형식으로 변환하여 화면에 출력합니다.

<html>
<head>
   <title>JavaScript Example</title>
</head>
<body>
   <script type="text/javascript">
      var num = 3325;
      result = num.toLocaleString('ar-EG');
      document.write("Result: " + result);
   </script>
</body>
</html>

출력 결과

Result: ٣٬٣٢٥

실행 결과를 보면 'ar-EG' 로케일을 지정했기 때문에 숫자가 서아라비아 숫자인 ٣٬٣٢٥로 변환되어 표시됩니다. 이처럼 toLocaleString() 하나만으로 다국어 환경에서 숫자를 자연스럽게 표현할 수 있습니다.

참고: 다양한 로케일 비교

로케일에 따라 같은 숫자가 어떻게 달리 표현되는지 살펴보겠습니다.

var num = 3325;
num.toLocaleString('ko-KR'); // "3,325" (한국어)
num.toLocaleString('de-DE'); // "3.325" (독일어)
num.toLocaleString('en-US'); // "3,325" (영어/미국)
num.toLocaleString();        // 실행 환경의 기본 로케일 적용

이처럼 toLocaleString() 함수는 국제화(i18n) 작업 시 매우 유용하게 활용되며, 통화나 백분율 형식 지정 옵션과 함께 사용하면 더욱 강력한 결과를 얻을 수 있습니다.