숫자를 한글로 변경하려고 하는데요. 적용이 잘 안되서요..ㅜㅜ > 그누4 질문답변

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

숫자를 한글로 변경하려고 하는데요. 적용이 잘 안되서요..ㅜㅜ 정보

숫자를 한글로 변경하려고 하는데요. 적용이 잘 안되서요..ㅜㅜ

본문

<script>
<!--
function test_js() {
	var gab		= document.test.assa.value;
	var qu		= gab.length / 4;
	var re		= gab.length % 4;

	var sutja	= "";
	var sutja_rd	= "";
	var sutja_jr	= "";

	var read	= "";


	for(i=0;i<gab.length;i++) { 
		sutja	= gab.substring(i,i+1);
		
		if(sutja == '1')	sutja_rd = "일";
		else if(sutja == '2')	sutja_rd = "이";
		else if(sutja == '3')	sutja_rd = "삼";
		else if(sutja == '4')	sutja_rd = "사";
		else if(sutja == '5')	sutja_rd = "오";
		else if(sutja == '6')	sutja_rd = "육";
		else if(sutja == '7')	sutja_rd = "칠";
		else if(sutja == '8')	sutja_rd = "팔";
		else if(sutja == '9')	sutja_rd = "구";
		else			sutja_rd = "";
		
		switch((gab.length - i -1) % 4 +1) {
			case(2):	sutja_jr = "십";break;
			case(3):	sutja_jr = "백";break;
			case(4):	sutja_jr = "천";break;
			default:	sutja_jr = "";
		}
		
		if(sutja_rd != "")	read	+= sutja_rd + sutja_jr;
		
		if((gab.length - i - 1) % 4 == 0) {
			switch((gab.length - i - 1) / 4) {
				case(1):	read += "만";break;
				case(2):	read += "억";break;
				case(3):	read += "조";break;
				default:	break;
			}
		}
	}
	document.test.read.value	= read;
}
-->
</script>


<form name=test>
입력 : <input type=text name="assa" onKeyUp="test_js()"><br>

결과 : <input type=text size=20 readonly name=read>
</form>

스크립트이고요

아래는
 <input class="ed" style="width:40%;" name=wr_7 id="wr_7" itemname="기탁금"  value="<?=$write[wr_7]?>">

에 적용하고 싶은데요..

또는 출력시 한글로 출력되게 하고싶은데요..

댓글 전체

12300000000=>일백이십삼억만 이렇게 표시가 되네요
백이십삼억 <==이렇게 표시되는 스크립트입니다

http://sir.co.kr/bbs/tb.php/pl_dhtml_javascript/470/de2f7a0c29e947283ee91d117060de93
agaweb님이 올려주신 이 스크립트를 약간 수정하여 제가 사용하는 소스입니다
일십=>십, 일백=>백, 일천=>천 으로 표기하는 것과 만 단위 띄우기, 컴마가 들어간 숫자도 가능 정도 변경된 것입니다
  <script>
<!--
function number2Hangeul( strNumber )
{
strNumber = strNumber.replace(/,/g, "");
if(isNaN(strNumber) ) return;

    var arrayAmt = new Array("일", "이", "삼", "사", "오", "육", "칠", "팔", "구", "십");
    var arraypos = new Array("", "십", "백", "천");
    var arrayUnit = new Array("", "만", "억", "조", "경", "해");

    var pos = strNumber.length%4;                        //자리수
    var len = (strNumber.length/4).toString();

    if( len.indexOf(".") > 0 ) var unit = len.substring(0, len.indexOf("."));      //단위(0:일단위, 1:만단위...)
    else var unit = strNumber.length/4-1;

    var korNumber = "";
    var op = 0;

    for( i=0; i<strNumber.length; i++ )
    {
        if(pos==0) pos=4;
        var num = parseInt( strNumber.substring( i, i+1 ) );
        if( num != 0 )
        {
            korNumber += arrayAmt[ num-1 ];
            korNumber += arraypos[ pos-1 ];
            op=1;
        }
        if(pos==1)
        {
            if(op==1) korNumber += arrayUnit[unit];
            unit--;
            op = 0;
        }
        pos--;
    }

korNumber=korNumber.replace(/일십/g,'십').replace(/일백/g,'백').replace(/일천/g,'천').replace(/조/,'조 ').replace(/억/,'억 ').replace(/만/,'만 ')

document.test.read.value = korNumber;

 //  if (korNumber.length==0 || korNumber.length==null )  return  "";
 //  else return korNumber ;
}
//-->
</script>

<form name=test>
입력 : <input type=text name="assa" onKeyUp="number2Hangeul(this.value)"><br>

결과 : <input type=text size=50 readonly name=read>
</form>

적용하고 싶다는 말의 의도를 알수가 없지만 추측으로는
document.test.read.value= korNumber; 대신
document.getElementById('wr_7').value= korNumber; 이렇게 하고싶다는 것으로 이해됩니다만....
이렇게 입력하면 수정시 당연히 한글로 나옵니다
그런데 테이블에 저장시에는 숫자로저장하고 뷰페이지에서 보여줄때 한글로 변환하여 보여주는 것이
좋지않을까 생각됩니다(입력값을 수정할 경우가 있을 것이므로)
드디어 성공했습니다!!!

js 부분에

document.getElementById('read').value= korNumber; 로 걸고

출력시

  <input class="ed" style="width:40%;" name=wr_7 id="wr_7" itemname="기탁금"  value="<?=$write[wr_7]?>" onKeyUp="number2Hangeul(this.value)">

<input type=text size=30 readonly name=read >
로 하니 정상적으로 됩니다!! 감사합니다.ㅜㅜ

참고로 script 에 kornumber 에 korNumber=korNumber+'원'; 추가하면 좋겠습니다.
전체 48 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT