자동계산 천단위 콤마에 대해서 질문좀 드릴께요..

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
자동계산 천단위 콤마에 대해서 질문좀 드릴께요..

QA

자동계산 천단위 콤마에 대해서 질문좀 드릴께요..

본문

우선 js파일에

function calc(){

one = document.fitem.it_price.value;
one = parseInt(one.replace(',', ''));

document.fitem.it_release24.value = ((one * 0.041666)).toFixed(0);

}

window.onload = function(){ // 페이지로딩후
    calc(); // 자동계산함수 실행하기
};

이렇게 되어있구요 php페이지에는

<input type="text" name="ct_price" id="it_price" size="8" class="support_input" value="<?=number_format( $it['it_price']); ?>"  onKeyup="calc();" required disabled /> 

위금액에서 아래 금액이 계산된 값이 나오게 됩니다.

<input type="text" name="it_release24" id="it_release24" size="7" class="support_input2" onKeyup="calc();" required disabled />

 

여기에 계산이된 id=release24 이값에 콤마를 찍어주려고 하는데요 콤마가 나오질 않네요..

좀 도와주세요 ㅠㅠ~~고수님들~~ 

이 질문에 댓글 쓰기 :

답변 2

function numberWithCommas(x) {

  return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); 

}

 

이 함수 넣어주고

 

document.fitem.it_release24.value = ((one * 0.041666)).toFixed(0);

이부분을

 

document.fitem.it_release24.value = numberWithCommas((one * 0.041666).toFixed(0));

이렇게 변경

반올림은 아니지만 님코드 자체가 정수만 가지고 계산하는거라 소수점이 나오면 안됩니다.

one = parseInt(one.replace(',', ''));
이걸

one = parseInt(one.replace(/[^\d]+/g, ''));
이걸로 바꾸세요.

님 원래 소스는 1,000,000 일경우 1000,000 이렇게 변환해서 이걸 parseInt 하니까 , 뒤가 짤려서 계산됩니다.

autoNumeric 강추합니다. 

 

https://github.com/BobKnothe/autoNumeric 

 

다운받은 autoNumeric.js 파일을 연결하고요...

 

<script type="text/javascript"> 

jQuery(function($) {

    $('.auto').autoNumeric('init');

});

</script>

사용할곳의 페이지에 적어주면 되고요.

 

<input type='text' name="st_num" id="st_num" class="auto" data-v-min="-9999999999" data-v-max="9999999999" /> 

 

class 적어주고요...

data-v-min : 최소값

data-v-max : 최대값 

 

 

 

 

 

 

답변을 작성하시기 전에 로그인 해주세요.
전체 4

회원로그인

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