계산기 콤마 질문!!
본문
<script>
function onlyNumber(event) {event = event || window.event;var keyID = (event.which) ? event.which : event.keyCode;if ( (keyID >= 48 && keyID <= 57) || (keyID >= 96 && keyID <= 105) || keyID == 8|| keyID == 9 || keyID == 46 || keyID == 37 || keyID == 39 || keyID == 188)return;else return false;}
function removeChar(event) {event = event || window.event; var keyID = (event.which) ? event.which : event.keyCode; if ( keyID == 8 || keyID == 46 || keyID == 37 || keyID == 39 ) return; else event.target.value = event.target.value.replace(/\B(?=(\d{3})+(?!\d))/g, ","); }
$('input[name="calc_cate"]').change(function(){
commission = $(this).val();
$("#insert_commission").empty().append(commission);
var cate_id = $('input[name="calc_cate"]:checked').attr('id');
var cate_name = $("label[for='"+cate_id+"']").text();
$("#insert_cate").empty().append(cate_name);
});
function get_price(){
insert_price = Number($("#calc_price").val());
insert_commission = Number($("#insert_commission").text());
result_commission = parseInt(insert_price * (insert_commission/1000000));
result_price = insert_price - result_commission;
$("#insert_price").empty().append(insert_price);
$("#result_price").empty().append(result_price);
$("#result_commission").empty().append(result_commission);
}
</script>
인풋 라인에는 콤마가 찍히는데 버튼을 누르고 조회되는 금액 부분에서는 오류가 뜹니다 ㅠㅠ
답변 1
콤마를 입력 중에도 표기하고 싶다면
계산할때는 콤마를 제거하고 계산하셔야 합니다
그리고 계산 후 다시 콤마를 표시하는 형태로 가야합니다
숫자가 아닌 다른 문자열이 들어간상태로 형변환을 하면 정상적인 값을 계산할 수 없습니다.
insert_price = Number($("#calc_price").val());
insert_commission = Number($("#insert_commission").text());
result_commission = parseInt(insert_price * (insert_commission/1000000));
이부분에서 단순히 형변환(Number) 이전에 replace를 활용한 콤마를 제거하는 구문을 넣으셔야 합니다.