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

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

· 12년 전 · 2676 · 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개

감사요~

게시글 목록

번호 제목
26447
26436
5279
5276
30674
18417
18414
5261
27054
5259
5239
18413
31486
18410
18400
30670
5231
18395
18387
18381
30661
5222
18380
27043
18366
24478
18359
30660
18355
18351
18343
18333
31439
18329
18323
27040
30655
5211
31427
5205
5193
5184
18317
27032
18313
30647
31408
30644
18306
18303
18288
27028
18285
31383
27024
5174
18276
27017
27130
18274
26427
5170
5160
5157
31371
27010
18267
27003
30636
18265
31350
18262
26998
18260
26992
26988
18259
31328
26986
18257
26983
5154
26975
24474
31309
26966
31251
18253
31218
31201
26957
26954
5147
5139
18248
5132
26947
31189
30631
26939