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

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

QA

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

본문

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

 

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

 


<html>
<head>
<meta http-equiv="Content-Type" content="application/vnd.ms-excel; charset=UTF-8">
</head>
<body>
<script language='javascript'> 
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>
입력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();">
</body>
</html> 
 

이렇게 실행하면

6ed18c3bd00c9f226ee20f18af4e0479_1453101684_1662.jpg

 

이렇게 출력이 되는데요

이걸

 6ed18c3bd00c9f226ee20f18af4e0479_1453101690_8949.jpg 

 

 

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

 

 

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


<script language='javascript'> 
//콤마찍기
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));
}
</script>
<input type="text" onkeyup="inputNumberFormat(this)" >

 

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

그럼 부탁드립니다.

 

 

이 질문에 댓글 쓰기 :

답변 3


<html>
<head>
<meta http-equiv="Content-Type" content="application/vnd.ms-excel; charset=UTF-8">
<script language='javascript'>
//콤마찍기
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));
}
</script>
 
</head>
<body>
<script language='javascript'>
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)));
}
</script>
입력1<input size=11 style='text-align:right' name=wr_51 id="wr_51" itemname="1" value="" onkeydown="inputNumberFormat(this)" onkeyup="sum5()">
입력2<input size=11 style='text-align:right' name=wr_52 id="wr_52" itemname="1" value="" onkeydown="inputNumberFormat(this)" onkeyup="sum5()">
합계<input size=11 style='text-align:right' name=wr_53 id="wr_53" itemname="1" value="" onkeydown="inputNumberFormat(this)" onkeyup="sum5()">
</body>
 
</html> 

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


입력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<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()">

 

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

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

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

 

답변을 작성하시기 전에 로그인 해주세요.
전체 16
QA 내용 검색

회원로그인

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