계산기 콤마 질문!!

계산기 콤마 질문!!

QA

계산기 콤마 질문!!

답변 1

본문

<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를 활용한 콤마를 제거하는 구문을 넣으셔야 합니다.

div class="view_wrapper clear">
    <h2>입금 예정 금액은</h2>
    <h3><strong id="result_price">0</strong>  원입니다.</h3>
    </div>
    </div>
</div>

<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>



추가를 하여도 NaN라고 출력이 되네요 ㅠㅠ

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 1,284
© SIRSOFT
현재 페이지 제일 처음으로