A

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

· 2010-01-28 (목) 11:43:51 · 1597 · 3
<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]?>">

에 적용하고 싶은데요..

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

|

댓글 3개

<script>~</script> 사이에 있는 read 를 모두 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; 이렇게 하고싶다는 것으로 이해됩니다만....
이렇게 입력하면 수정시 당연히 한글로 나옵니다
그런데 테이블에 저장시에는 숫자로저장하고 뷰페이지에서 보여줄때 한글로 변환하여 보여주는 것이
좋지않을까 생각됩니다(입력값을 수정할 경우가 있을 것이므로)
2010-01-29 (금) 14:31:35
드디어 성공했습니다!!!

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+'원'; 추가하면 좋겠습니다.
댓글을 작성하시려면 로그인이 필요합니다.

그누4 질문답변

66,531건

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

+
제목 글쓴이 날짜 조회
10-01-28 조회 1,595
10-01-28 조회 1,578
10-01-28 조회 1,227
10-01-28 조회 1,145
10-01-28 조회 1,170
10-01-28 조회 1,228
10-01-28 조회 1,029
10-01-28 조회 1,252
10-01-28 조회 1,662
10-01-28 조회 1,084
10-01-28 조회 1,072
10-01-28 조회 1,658
10-01-28 조회 1,744
10-01-28 조회 1,422
10-01-28 조회 1,752
10-01-28 조회 1,598
10-01-28 조회 2,531
10-01-28 조회 1,690
10-01-28 조회 1,693
10-01-28 조회 1,010