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

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

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 : 최대값 

 

 

 

 

 

 

답변을 작성하시기 전에 로그인 해주세요.
전체 16,797
QA 내용 검색

회원로그인

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