자동계산에 콤마 찍는 방법이 있나요?
본문
여기저기 검색을 많이 해보아도 계산식에 콤마를 포함하여 입금되고 출력값에 콤마를 포함하여 출력되는 소스가 없어서 질문 올립니다.
우선 아래의 소스는 입력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>
이렇게 실행하면
이렇게 출력이 되는데요
이걸
이렇게 되게 하고싶습니다.
콤마 찍기 풀기에 대해 검색해보면
<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()">
그냥 이걸로 덮어 씌우시면 되겠습니다 ..
콤마 찍는건 문제가 없는데,
콤마 찍은값에 콤마를 삭제하고 다시 계산해서 콤마를 찍어야 되는 문제가 있네요
답변을 작성하시기 전에 로그인 해주세요.