2026, 새로운 도약을 시작합니다.

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

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

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

Copy




 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); 
}
입력1
입력2
합계
  

이렇게 실행하면

6ed18c3bd00c9f226ee20f18af4e0479_1453101684_1662.jpg

 

이렇게 출력이 되는데요

이걸

 6ed18c3bd00c9f226ee20f18af4e0479_1453101690_8949.jpg 

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

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

Copy
 
//콤마찍기
function comma(str) {
    str = String(str);
    return str.replace(/(\d)(?=(?:\d{3})+(?!\d))/g, '$1,');
}//콤마풀기
function uncomma(str) {
    str = String(str);
    return str.replace(/[^\d]+/g, '');
}function inputNumberFormat(obj) {
    obj.value = comma(uncomma(obj.value));
}

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

그럼 부탁드립니다.

답변 3개

채택된 답변
+20 포인트
Copy
//콤마찍기function comma(str) {    str = String(str);    return str.replace(/(\d)(?=(?:\d{3})+(?!\d))/g, '$1,');}//콤마풀기function uncomma(str) {    str = String(str);    return str.replace(/[^\d]+/g, '');}function inputNumberFormat(obj) {    obj.value = comma(uncomma(obj.value));} 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 = comma(Number(uncomma(wr_51.value))+Number(uncomma(wr_52.value)));}입력1입력2합계  
로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

감사합니다... 입력은 이상하게 컴마의 자릿수가 안맞지만 계산값은 잘 나오네요...
어디가 조금 잘못된것같은데 .그걸 찾는건 제 몫이겠죠... ^^
수고하셨습니다.
[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개

넵... 잘 되네요.. 정말 많은 도움이 되었습니다. 감사합니다.

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

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

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

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

답변에 대한 댓글 1개

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

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

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

로그인
🐛 버그신고