숫자를 한글로 바꾸는 소스는 많이 검색된다. 하지만 한글을 숫자로 바꾸는 소스를 찾지 못했다
그래서 만들어 봤다.. ㅜ.ㅜ
## 한글을 숫자로
let KoreanToNum = (koreanNum)=>{
const numberHan = '영일이삼사오육칠팔구'
const number = '0123456789'
const units = {'십':10, '백':100, '천':1000, '만':10000, '억':100000000, '조':1000000000000}
koreanNum = koreanNum.replace( /[^0-9가-힣]/gi, '' ) //한글,숫자만
let source = koreanNum.split("")
let result = tmp = num = check = 0
let source_length = source.length-1;
source.forEach((token,i)=>{
check = numberHan.indexOf(token)
if(check<0 && number.indexOf(token)>-1){
check = number.indexOf(token)
}
if('십백천'.indexOf(token) >-1){ //소단위
num += (tmp==0 ? 1:tmp) * units[token]
tmp = 0
}else if('만억조'.indexOf(token) >-1){ //대단위
num += tmp
result += (num==0 ? 1:num) * units[token]
tmp = 0
num = 0
}else if(check>-1){ //숫자이면
tmp = tmp*10+check
//}else{ 그 외는 대상이 아님
}
if(i ==source_length){ //마지막이면
result += num + tmp
}
})
return result
}
console.log( KoreanToNum('123천') )
// 123000
console.log( KoreanToNum('123만') )
// 1230000
console.log( KoreanToNum('만오천') )
// 15000
console.log( KoreanToNum('일천이백만') )
// 12000000
console.log( KoreanToNum('일천이백삼십사만오천육백칠십팔') )
// 12345678
console.log( KoreanToNum('1,718 백만') )
// 1718000000
console.log( KoreanToNum('asdf 125,321 원') )
// 125321
console.log( KoreanToNum('2억12') )
// 200000012
console.log( KoreanToNum('3,086만 4,627') )
// 30864627
console.log( KoreanToNum('9,274억 8,304만 1,001') )
// 927483041001
console.log( KoreanToNum('100') )
// 100
console.log( KoreanToNum('000 /') )
// 0
## 숫자를 한글로
github.com/huskyhoochu/num-to-korean
// node npm 설치
npm install num-to-korean
// ES5 선언
const { numToKorean } = require('num-to-korean');
// 사용
const billion = numToKorean(100000000);
// -> '일억'
const number = numToKorean(12345678);
// -> '일천이백삼십사만오천육백칠십팔'
const spacing = numToKorean(24234224, 'spacing');
// -> 이천사백이십삼만 사천이백이십사
numTokorean(927483041001, 'mixed'); // 문자열 'mixed' 입력 가능
// -> 9,274억 8,304만 1,001
'프론트엔드 개발 놀이터 > Javascript' 카테고리의 다른 글
홈페이지 접속시 자동으로 모바일로 이동 (0) | 2020.12.02 |
---|---|
[JS] async/await으로 콜백지옥을 해결해보자 (0) | 2020.10.15 |
상단 URL bar 숨기기 (0) | 2020.09.23 |
[Javascript] Mobile Web 에서 App실행 (0) | 2020.09.07 |
.clone() - 선택한 요소를 복제하는 메서드 (0) | 2020.07.17 |