안

금액에 점찍고 한글 표시하기

· 2006-11-30 (목) 22:32:57 · 3114
bada.jpg
<HTML>
<HEAD>
<TITLE>금액 출력</TITLE>
<SCRIPT Language='JavaScript'>


//금액에 , 찍기
function numchk(num){
num=new String(num);
num=num.replace(/,/gi,"");
return numchk1(num);
}

function numchk1(num){
var sign="";
if(isNaN(num)) {
alert("숫자만 입력할 수 있습니다.");
return 0;
}
if(num==0) {
return num;
}

if(num<0){
num=num*(-1);
sign="-";
}
else{
num=num*1;
}
num = new String(num)
var temp="";
var pos=3;
num_len=num.length;
while (num_len>0){
num_len=num_len-pos;
if(num_len<0) {
pos=num_len+pos;
num_len=0;
}
temp=","+num.substr(num_len,pos)+temp;
}
return sign+temp.substr(1);
}

// 금액 숫자를 한글로
function num_han(num)
{
if ( num == "1" ) return "일";
else if ( num == "2" ) return "이";
else if ( num == "3" ) return "삼";
else if ( num == "4" ) return "사";
else if ( num == "5" ) return "오";
else if ( num == "6" ) return "육";
else if ( num == "7" ) return "칠";
else if ( num == "8" ) return "팔";
else if ( num == "9" ) return "구";
else if ( num == "십" ) return "십";
else if ( num == "백" ) return "백";
else if ( num == "천" ) return "천";
else if ( num == "만" ) return "만 ";
else if ( num == "억" ) return "억 ";
else if ( num == "조" ) return "조 ";
else if ( num == "0" ) return "";
}

function NUM_HAN(num,mode,return_input)
{
if ( num == "" || num == "0" ) {
if ( mode == "3" ) {
return_input.value = "";
}
return;
}

num=new String(num);
num=num.replace(/,/gi,"");

var len = num.length;
var temp1 = "";
var temp2 = "";

if ( len/4 > 3 && len/4 <= 4 ) {
if ( len%4 == 0 ) {
temp1 = ciphers_han(num.substring(0,4)) + "조" + ciphers_han(num.substring(4,8)) + "억" + ciphers_han(num.substring(8,12)) + "만" + ciphers_han(num.substring(12,16));
}
else {
temp1 = ciphers_han(num.substring(0,len%4)) + "조" + ciphers_han(num.substring(len%4,len%4+4)) + "억" + ciphers_han(num.substring(len%4+4,len%4+8)) + "만" + ciphers_han(num.substring(len%4+8,len%4+12));
}
}
else if ( len/4 > 2 && len/4 <= 3 ) {
if ( len%4 == 0 ) {
temp1 = ciphers_han(num.substring(0,4)) + "억" + ciphers_han(num.substring(4,8)) + "만" + ciphers_han(num.substring(8,12));
}
else {
temp1 = ciphers_han(num.substring(0,len%4)) + "억" + ciphers_han(num.substring(len%4,len%4+4)) + "만" + ciphers_han(num.substring(len%4+4,len%4+8));
}
}
else if ( len/4 > 1 && len/4 <= 2 ) {
if ( len%4 == 0 ) {
temp1 = ciphers_han(num.substring(0,4)) + "만" + ciphers_han(num.substring(4,len));
}
else {
temp1 = ciphers_han(num.substring(0,len%4)) + "만" + ciphers_han(num.substring(len%4,len));
}
}
else if ( len/4 <= 1 ) {
temp1 = ciphers_han(num.substring(0,len));
}

for (var i=0; i<temp1.length; i++) {
temp2 = temp2 + num_han(temp1.substring(i, i+1));
}

temp3=new String(temp2);
temp3=temp3.replace(/억 만/gi,"억 ");
temp3=temp3.replace(/조 억/gi,"조 ");

if ( mode == 1 ) {
alert(temp3 + " 원");
} else if ( mode == 2 ) {
return temp3;
} else if ( mode == 3 ) {
return_input.value = "( " + temp3 + " 원 )";
}
}

function ciphers_han(num)
{
var len = num.length;
var temp = "";

if ( len == 1 ) {
temp = num;
}
else if ( len == 2 ) {
temp = num.substring(0,1) + "십" + num.substring(1,2);
}
else if ( len == 3 ) {
temp = num.substring(0,1) + "백" + num.substring(1,2) + "십" + num.substring(2,3);
}
else if ( len == 4 ) {
temp = num.substring(0,1) + "천" + num.substring(1,2) + "백" + num.substring(2,3) + "십" + num.substring(3,4);
}

num=new String(temp);
num=num.replace(/0십/gi,"");
num=num.replace(/0백/gi,"");
num=num.replace(/0천/gi,"");
return num;
}

function moncom(mon) {
var factor = mon.length % 3;
var su = (mon.length - factor) / 3;
var com = mon.substring(0,factor);

for(var i=0; i < su ; i++) {
if((factor == 0) && (i == 0)) {
com += mon.substring(factor+(3*i), factor+3+(3*i));
}
else {
com += "," ;
com += mon.substring(factor+(3*i), factor+3+(3*i));
}
}
document.write(com);
}


</SCRIPT>
</HEAD>
<body>
금액<form name=form action=# method=get>
<input type="text" name="A_EMONEY" size=18 maxLength=15 style="text-align:right" onkeypress="NUM_HAN(this.value,3,document.form.EMONEY_HAN)" onkeyup="this.value=numchk(this.value);NUM_HAN(this.value,3,document.form.EMONEY_HAN)"> 원 
<input type="text" name="EMONEY_HAN" readonly style="border:0;" size="50">
</form>
</body>
</html><div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 16:57:14 JavaScript에서 이동 됨]</div>

첨부파일

bada.jpg (13.2 KB)
0회 2006-11-30 22:32
|
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

8,188건
+
제목 글쓴이 날짜 조회
08-04-17 조회 4,346
08-03-14 조회 3,220
08-03-08 조회 3,040
08-03-06 조회 3,017
08-03-03 조회 4,307
08-02-20 조회 2,987
08-02-15 조회 3,906
08-02-11 조회 5,062
08-02-09 조회 5,800
08-02-05 조회 3,834
08-01-14 조회 6,644
08-01-11 조회 7,075
08-01-04 조회 1.1만
07-12-10 조회 4,982
07-12-10 조회 3,851
07-12-04 조회 3,389
07-11-29 조회 3,564
07-11-27 조회 3,919
07-11-23 조회 4,514
07-11-23 조회 4,248
07-11-13 조회 4,376
07-10-19 조회 4,843
07-10-17 조회 5,891
07-10-03 조회 5,057
07-10-02 조회 8,819
07-10-02 조회 4,470
07-09-09 조회 3,448
07-07-29 조회 4,333
07-07-28 조회 4,557
07-07-26 조회 4,457
07-06-19 조회 1.1만
07-06-17 조회 3,620
07-06-15 조회 4,117
07-05-31 조회 3,185
07-05-09 조회 5,333
07-05-04 조회 3,184
07-05-04 조회 3,528
07-04-28 조회 6,425
07-04-26 조회 4,670
07-04-14 조회 5,315
07-04-13 조회 3,733
07-04-12 조회 5,922
07-03-27 조회 3,862
07-03-19 조회 3,563
07-03-13 조회 4,637
07-03-07 조회 4,786
07-03-07 조회 3,298
07-02-25 조회 3,657
07-02-21 조회 4,550
07-02-18 조회 5,070
07-02-12 조회 3,416
07-02-02 조회 4,537
07-01-28 조회 6,149
07-01-27 조회 5,652
07-01-25 조회 4,021
07-01-21 조회 4,651
07-01-19 조회 6,587
07-01-19 조회 8,049
07-01-13 조회 3,508
07-01-09 조회 5,154
06-12-27 조회 3,544
06-11-24 조회 3,667
06-11-18 조회 4,186
06-10-17 조회 5,505
06-10-01 조회 4,424
06-09-26 조회 4,313
06-09-25 조회 4,634
06-09-25 조회 4,339
06-09-22 조회 4,869
06-09-22 조회 3,642
06-09-22 조회 4,482
06-09-13 조회 5,303
06-08-27 조회 4,908
06-08-26 조회 6,278
06-08-26 조회 5,583
06-08-23 조회 5,084
06-07-28 조회 7,182
06-07-24 조회 4,640
06-07-23 조회 5,419
06-07-21 조회 5,178
06-07-19 조회 3,063
06-07-19 조회 2,986
06-07-11 조회 3,634
06-07-11 조회 3,923
06-07-11 조회 4,507
06-07-11 조회 4,971
06-07-11 조회 3,584
06-07-11 조회 9,208
06-07-11 조회 4,066
06-07-11 조회 3,295
06-07-11 조회 3,347
06-07-11 조회 3,285
06-07-11 조회 3,082
06-07-07 조회 4,124
06-06-25 조회 4,474
06-06-15 조회 4,470
06-06-14 조회 4,952
06-06-11 조회 3,545
06-06-10 조회 3,926
06-06-09 조회 3,509