💰 숫자를 한글로 금액 단위로 표현

2025. 4. 18. 06:28·Programing/javascript
반응형

연관글

2025.04.18 - [Programing/javascript] - 💻 숫자를 한글 숫자 표기로 변환

2025.05.27 - [Programing/javascript] - JavaScript로 구현하는 금액의 영어 단위 변환 (Number to Words)

2025.05.27 - [Programing/javascript] - JavaScript로 구현하는 금액 단축 표기 (K / M / B 표기법)

2025.05.27 - [Programing/javascript] - JavaScript로 구현하는 게임 데미지 단위 축약 (A ~ ZZZZ)

 

 

 

금액 정보를 사용자에게 표시할 때, 단순히 숫자를 나열하기보다는 한글 단위를 함께 사용하는 것이 더 직관적인 전달 방식이 될 수 있습니다. 특히 큰 금액의 경우 자리수를 단위별로 나누어 표기하면 가독성이 높아집니다. 이 글에서는 자바스크립트를 사용하여 숫자를 "만원", "억원", "조원" 등 한글 금액 단위로 변환하는 함수를 작성하고, 이를 개선한 내용을 정리합니다.


🧩 요구사항

  • 숫자 크기에 따라 "만", "억", "조" 등 단위를 자동으로 붙입니다.
  • 단위별로 띄어쓰기가 적용됩니다.
    예: 123456789 → 1억 2,345만 6,789원
  • "1000000" → "100만" 등 줄임 단위 표기를 지원합니다.
  • 입력이 문자열인 경우에도 처리 가능하며, 숫자 외 문자는 자동 제거합니다.

📌 함수

function formatKoreanCurrency(input) {
  // 문자열이면 숫자만 남기기
  let numeric = typeof input === "string" ? input.replace(/[^\d]/g, "") : input;

  // 숫자로 변환
  const amount = Number(numeric);
  if (isNaN(amount) || amount < 0) return "0원";
  if (amount === 0) return "0원";

  const unitNames = ["", "만", "억", "조", "경", "해"];
  const result = [];
  let value = amount;
  let unitIndex = 0;

  while (value > 0) {
    const chunk = value % 10000;
    if (chunk > 0) {
      // 단위별로 띄어쓰기 적용
      result.unshift(`${chunk.toLocaleString()}${unitNames[unitIndex]}`);
    }
    value = Math.floor(value / 10000);
    unitIndex++;
  }

  return result.join(" ") + "원";
}

🧪 사용 예시

formatKoreanCurrency("123456789");          // "1억 2,345만 6,789원"
formatKoreanCurrency("₩98,765,432,100원");  // "987억 6,543만 2,100원"
formatKoreanCurrency("1,234만원");          // "1,234만원"
formatKoreanCurrency(1000000000000);        // "1조원"
formatKoreanCurrency("💵123억 45만💰");      // "123억 45만원"

🔍 기능 요약

  • toLocaleString()을 사용하여 3자리마다 쉼표를 자동 적용합니다.
  • 단위 구분은 10,000 단위를 기준으로 하며, 단위는 ["", "만", "억", "조", "경", "해"]를 사용합니다.
  • 문자열 입력 시 정규식을 사용하여 숫자가 아닌 문자는 모두 제거됩니다.

🧠 활용 예시

이 함수는 다음과 같은 곳에 유용하게 활용될 수 있습니다:

  • 전자상거래 웹사이트의 상품 가격 표시
  • 금융 서비스에서 투자금, 자산 규모 등의 수치 표현
  • 가계부, 회계 시스템의 수치 출력 등
반응형

'Programing > javascript' 카테고리의 다른 글

자바스크립트의 Behavioral 패턴: 객체 간의 소통을 설계하다  (0) 2025.04.19
자바스크립트의 Structural 패턴: 객체 구조의 유연함을 설계하다  (0) 2025.04.19
자바스크립트의 Creational 패턴: 객체 생성의 정석  (0) 2025.04.19
💻 숫자를 한글 숫자 표기로 변환  (1) 2025.04.18
📷 JavaScript로 이미지 리사이징 후 PHP로 업로드하는 방법  (1) 2025.04.16
🎂 자바스크립트로 나이 계산하는 3가지 방법  (0) 2025.04.16
JavaScript로 URL 파라미터 업데이트하는 방법  (0) 2025.04.16
javascript array sort(나이순 정렬)  (0) 2023.09.19
'Programing/javascript' 카테고리의 다른 글
  • 자바스크립트의 Creational 패턴: 객체 생성의 정석
  • 💻 숫자를 한글 숫자 표기로 변환
  • 📷 JavaScript로 이미지 리사이징 후 PHP로 업로드하는 방법
  • 🎂 자바스크립트로 나이 계산하는 3가지 방법
Dongkkase
Dongkkase
개발자로 일하면서 부딪히는 문제풀이가 누군가에게 도움이 되길 바라며
    반응형
  • Dongkkase
    정집사의 개발로그
    Dongkkase
  • 전체
    오늘
    어제
    • All (457) N
      • 금융 (61)
      • Programing (280) N
        • Algorithm (39) N
        • API (2)
        • javascript (121)
        • CSS (6)
        • HTML (10)
        • PHP (15)
        • JAVA (27)
        • JSP (17)
        • JSP 예제 (1)
        • IOS (1)
        • Android (1)
        • Sencha Touche (1)
        • bat file, cmd (0)
        • 디버깅 (2)
        • SQL (17)
        • MS-SQL (1)
        • MySQL (12)
      • Server (14)
        • Docker (1)
        • Windows (9)
        • Linux (3)
        • jeus (1)
      • Database (5)
      • IT 일반 (15)
      • 리뷰 (1) N
        • Book (17)
        • 제품 (2) N
        • 영화 소개 (11)
        • 음악 소개 (7)
      • 잡생각 (31)
        • 회고 (2)
        • 자료실 (6)
        • 낙서장 (12)
        • 위시리스트 (2)
        • WOW (1)
        • 덕 (1)
  • 인기 글

  • 최근 댓글

  • 태그

    js패턴
    IT·컴퓨터
    php
    It
    사고 싶은 책
    JavaScript
    디자인패턴
    위시리스트
    IT블로그
    자바스크립트유틸
    자바스크립트
    읽고 싶은 책
    SQL
    iT's MY LiFE
    자바
    Java
    jsp
    IT 관련
    기초
    블로그
  • hELLO· Designed By정상우.v4.10.3
Dongkkase
💰 숫자를 한글로 금액 단위로 표현
상단으로

티스토리툴바