• 회원가입
  • 로그인
  • 구글아이디로 로그인

[js] JS - 숫자를 한글로 읽기/변환

숫자를 한글로 읽기/변환

 

function number2hangul(number) {

  var num = ['', '일', '이', '삼', '사', '오', '육', '칠', '팔', '구'];

  var unit4 = ['', '만', '억', '조', '경'];

  var unit1 = ['', '십', '백', '천'];


  var res = [];


  number = number.toString().replace(',', '');

  var split4 = number.split('').reverse().join('').match(/.{1,4}/g);


  for (var i = 0; i < split4.length; i++) {

    var temp = [];

    var split1 = split4[i].split('');

    for (var j = 0; j < split1.length; j++) {

      var u = parseInt(split1[j]);

      if (u > 0) {

        temp.push(u + unit1[j]);

      }

    }

    if (temp.length > 0) {

      res.push(temp.reverse().join('') + unit4[i]);

    }

  }


  return res.reverse().join('');

}


console.log(number2hangul(350000000)); // 3억5천만

 

결과보기


PS. 숫자까지 모두 한글(예: 삼억오천만)로 변환하려면, 핑크색코드를 아래처럼 수정.

 

  • 수정 전: u
  • 수정 후: num[u]

 

참고: 세크티 님 (230527) https://sir.kr/qa/500252


분류 제목
Math JS - Math.log1p() 메서드 -
Math JS - Math.expm1() 메서드 -
Math JS - Math.clz32() 메서드 - 32비트 이진수에서 앞에 오는 0 개수 반환 (= Math.clz…
Math JS - Math.fround() 메서드 - 최근접 32비트 단정밀도 부동소수 반환 (= Math.froun…
Math JS - Math.sign() 메서드 - 숫자부호판별 (= Math.sign메서드 = 매스사인메서드) ※ 숫…
js JS - 모든 링크 주소를 특정 URL주소로 일괄 변경
js JS - 화면 리사이즈 시, 스크롤바 가운데로 이동 (= 화면크기 변경 시, 스크롤바 중앙에 위치시키기)
API_Fetch JS - Fetch API (= JavaScript로 파일 내용 가져오기 = fetch메서드=페치메서드)
API_MediaQueryList JS - window.MediaQueryList 객체 - 미디어쿼리 정보 저장 (= window.MediaQ…
Basic JS - 반복문 종류 ( for / for...of / for...in / while / do...while…
DOM_Element JS - remove() 메서드 - 요소 제거 (= remove메서드 = 리무브메서드) ※ 요소제거
Window_Object JS - window.jQuery 속성 - 제이쿼리 라이브러리 로드 여부 확인 (= 윈도우제이쿼리속성)
js JS - 특정 문자열 글자 포함 요소의 글자색 스타일 변경
67/67
목록
찾아주셔서 감사합니다. Since 2012