H Y
50
2021-05-04 17:38:46
2
81

jquery 활용 콤마 단위 입력 받은 문자열을 다시 숫자로 변환 후 연산하는 방법


프로젝트 만들어보기 정말 쉽지 않네요...

Html에서 jquery 활용해서 input 값을 백원 단위 마다 콤마로 받는 거는 구현을 했는데요.

이 입력값 (문자로 백원 단위 콤마) 생성된 것을 가지고 연산을 해야 하는데

이 입력 값을 콤마 제외하고 다시 숫자로 변환 시키는 방법 문의 드립니다.

html
<form>
  <div class="have_stock stall">보유 단가<br>
    <input type="text" class="have_price" placeholder="보유 단가">
    <input type="text" class="have_much" placeholder="보유 수량">
    <input type="text" class="have_money" placeholder="보유 금액" disabled>
    <button type="button" onclick="have_result()">입력</button>
    </input>  
</form>

<script dffer src="https://code.jquery.com/jquery-3.6.0.js" integrity="sha256-H+K7U5CnXl1h5ywQfKtSj8PCmoN9aaq30gDh27Xc0jk=" crossorigin="anonymous"></script>

// 자바스크립트 파일
<script>

$("input.have_price").keyup(function (event) {
  // skip for arrow keys
  if (event.which >= 37 && event.which <= 40return;
  
  // format number
  $(this).val(function (indexvalue) {
    return value.replace(/\D/g"").replace(/\B(?=(\d{3})+(?!\d))/g",");
  });
});
            
$("input.have_much").keyup(function (event) {
  // skip for arrow keys
  if (event.which >= 37 && event.which <= 40return;
  
  // format number
  $(this).val(function (indexvalue) {
    return value.replace(/\D/g"").replace(/\B(?=(\d{3})+(?!\d))/g",");
  });
});


            
            
function have_result(){
  let have_p = document.getElementsByClassName("have_price").value;
  let have_m = document.getElementsByClassName("have_much").value;
  document.getElementsByClassName("have_money").value = parseInt(have_p) * parseInt(have_m);
}



</script>


0
  • 답변 2

  • yunjae830
    72
    2021-05-04 17:44:30
    javascript split 함수로 콤마를 배열로 만들고 join 함수로 합치고 나서 Number로 숫자 형변환하는 방법이 있습니다!
  • joeaney
    301
    2021-05-04 18:36:46


    Number(`100,000,000,000,000`.replace(/\D+/g, ''))


  • 로그인을 하시면 답변을 등록할 수 있습니다.