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

자동계산에 콤마 찍는 방법이 있나요? 채택완료

바케스터 9년 전 조회 6,779

여기저기 검색을 많이 해보아도 계산식에 콤마를 포함하여 입금되고 출력값에 콤마를 포함하여 출력되는 소스가 없어서 질문 올립니다.

 

우선 아래의 소스는 입력1과 입력2에 숫자를 입력받아 합계를 출력하는 소스입니다.

 

</p><p><html>
<head>
<meta http-equiv="Content-Type" content="application/vnd.ms-excel; charset=UTF-8">
</head>
<body></p><p><script language='javascript'> </p><p>function sum5(){ 
  var wr_51 = document.getElementById('wr_51'); 
  var wr_52 = document.getElementById('wr_52'); 
  var wr_53 = document.getElementById('wr_53'); 
  wr_53.value = Number(wr_51.value)+Number(wr_52.value); 
}
</script></p><p>입력1<input size=11 style='text-align:right' name=wr_51 id="wr_51" itemname="1" value="" onkeyup="sum5();">
입력2<input size=11 style='text-align:right' name=wr_52 id="wr_52" itemname="1" value="" onkeyup="sum5();">
합계<input size=11 style='text-align:right' name=wr_53 id="wr_53" itemname="1" value="" onkeyup="sum5();"></p><p></body>
</html> </p><p> </p><p>

이렇게 실행하면



 

이렇게 출력이 되는데요

이걸

  

 

 

이렇게 되게 하고싶습니다.

 

 

콤마 찍기 풀기에 대해 검색해보면

</p><p><script language='javascript'> 
//콤마찍기
function comma(str) {
    str = String(str);
    return str.replace(/(\d)(?=(?:\d{3})+(?!\d))/g, '$1,');
}</p><p>//콤마풀기
function uncomma(str) {
    str = String(str);
    return str.replace(/[^\d]+/g, '');
}</p><p>function inputNumberFormat(obj) {
    obj.value = comma(uncomma(obj.value));
}</p><p></script></p><p><input type="text" onkeyup="inputNumberFormat(this)" ></p><p>

 

이렇게 나오는데요 이걸 적용하는걸 잘 모르겠습니다.

그럼 부탁드립니다.

 

 

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

답변 3개

채택된 답변
+20 포인트

</p><p><html></p><p><head></p><p><meta http-equiv="Content-Type" content="application/vnd.ms-excel; charset=UTF-8"></p><p><script language='javascript'></p><p>//콤마찍기</p><p>function comma(str) {</p><p>    str = String(str);</p><p>    return str.replace(/(\d)(?=(?:\d{3})+(?!\d))/g, '$1,');</p><p>}</p><p>//콤마풀기</p><p>function uncomma(str) {</p><p>    str = String(str);</p><p>    return str.replace(/[^\d]+/g, '');</p><p>}</p><p>function inputNumberFormat(obj) {</p><p>    obj.value = comma(uncomma(obj.value));</p><p>}</p><p></script></p><p> </p><p></head></p><p><body></p><p><script language='javascript'></p><p>function sum5(){</p><p>  var wr_51 = document.getElementById('wr_51');</p><p>  var wr_52 = document.getElementById('wr_52');</p><p>  var wr_53 = document.getElementById('wr_53');</p><p> </p><p>  wr_53.value = comma(Number(uncomma(wr_51.value))+Number(uncomma(wr_52.value)));</p><p>}</p><p></script></p><p>입력1<input size=11 style='text-align:right' name=wr_51 id="wr_51" itemname="1" value="" onkeydown="inputNumberFormat(this)" onkeyup="sum5()"></p><p>입력2<input size=11 style='text-align:right' name=wr_52 id="wr_52" itemname="1" value="" onkeydown="inputNumberFormat(this)" onkeyup="sum5()"></p><p>합계<input size=11 style='text-align:right' name=wr_53 id="wr_53" itemname="1" value="" onkeydown="inputNumberFormat(this)" onkeyup="sum5()"></p><p></body></p><p> </p><p></html> </p><div>
</div><p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

바케스터
9년 전
감사합니다... 입력은 이상하게 컴마의 자릿수가 안맞지만 계산값은 잘 나오네요...
어디가 조금 잘못된것같은데 .그걸 찾는건 제 몫이겠죠... ^^
수고하셨습니다.
김쩔짱
9년 전
[code]
입력1<input size=11 style='text-align:right' name=wr_51 id="wr_51" itemname="1" value="" onkeyup="inputNumberFormat(this); sum5()">
입력2<input size=11 style='text-align:right' name=wr_52 id="wr_52" itemname="1" value="" onkeyup="inputNumberFormat(this); sum5()">
합계<input size=11 style='text-align:right' name=wr_53 id="wr_53" itemname="1" value="" onkeyup="inputNumberFormat(this); sum5()">
[/code]

이걸로 덮어써보셔요..

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

바케스터 // 거기까지는 확인을안했네요..

 

입력1<input size=11 style='text-align:right' name=wr_51 id="wr_51" itemname="1" value="" onkeyup="inputNumberFormat(this); sum5()">

입력2<input size=11 style='text-align:right' name=wr_52 id="wr_52" itemname="1" value="" onkeyup="inputNumberFormat(this); sum5()">

합계<input size=11 style='text-align:right' name=wr_53 id="wr_53" itemname="1" value="" onkeyup="inputNumberFormat(this); sum5()">

 

그냥 이걸로 덮어 씌우시면 되겠습니다 ..

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

바케스터
9년 전
넵... 잘 되네요.. 정말 많은 도움이 되었습니다. 감사합니다.

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

9년 전

콤마 찍는건 문제가 없는데,

콤마 찍은값에 콤마를 삭제하고 다시 계산해서 콤마를 찍어야 되는 문제가 있네요

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

김쩔짱
9년 전
다시 계산 하실때는 문자열.replace(',' '')처리를 해주시면 됩니당 `ㅡ`

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

답변을 작성하려면 로그인이 필요합니다.

로그인