테스트 사이트 - 개발 중인 베타 버전입니다

금액을 한글로 표기 해주는 스크립트;

· 12년 전 · 2679 · 1

<script>
function trans_han(sour, targ){
s = document.getElementsByName(sour)[0].value;
t = document.getElementById(targ);
if(s.length > 16){
t.innerHTML = '숫자가 너무 큽니다';
return;
} else if(isNaN(s)){
t.innerHTML = '숫자가 아닙니다';
return;
}
b1 = ' 일이삼사오육칠팔구';
b2 = '천백십조천백십억천백십만천백십원';
tmp = '';
cnt = 0;
while(s != ''){
cnt++;
tmp1 = b1.substring(s.substring(s.length-1,s.length), Number(s.substring(s.length-1,s.length))+1); // 숫자
tmp2 = b2.substring(b2.length-1,b2.length); // 단위
if(tmp1==' '){ // 숫자가 0일때
if(cnt%4 == 1){ // 4자리로 끊어 조,억,만,원 단위일때만 붙여줌
tmp = tmp2 + tmp;
}
} else{
if(tmp1 == '일' && cnt%4 != 1){ // 단위가 조,억,만,원일때만 숫자가 일을 붙여주고 나머지는 생략 ex) 삼백일십만=> 삼백십만
tmp = tmp2 + tmp;
} else{
tmp = tmp1 + tmp2 + tmp; // 그외에는 단위와 숫자 모두 붙여줌
}
}
b2 = b2.substring(0, b2.length-1);
s = s.substring(0, s.length-1);
}
tmp = tmp.replace('억만','억').replace('조억','조'); // 조,억,만,원 단위는 모두 붙였기 때문에 필요없는 단위 제거
t.innerHTML = tmp;
}
</script>

<input type='text' name='price' size='15' maxlength='16' onkeyup="trans_han(this.name,'trans_price');" /> <span id='trans_price'></span>

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 1개

감사요~

게시글 목록

번호 제목
4405
17973
17969
30568
17965
17962
17959
17955
17953
17950
17947
4403
17944
17943
17941
17939
17935
17928
4391
17926
17923
17920
17917
26380
17916
30565
17910
17907
17905
30555
17904
30552
17901
17900
17898
30549
17895
26379
26378
26377
17893
17891
17888
17885
17883
17882
17861
17859
17857
4388
24413
4383
17849
17847
17845
17844
17839
17838
30548
17836
17833
17831
17827
17826
17823
17820
17818
24412
30547
17814
4377
30544
17813
17810
26373
17804
30543
17803
4370
17801
17796
26372
17794
30536
17791
4364
17789
30535
17788
30527
30525
30524
4358
30521
17781
26371
17776
4343
17772
17768