테스트 사이트 - 개발 중인 베타 버전입니다

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

designPARK 8년 전 조회 5,619

우선 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페이지에는

 

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

 

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

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

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
IZSOFT
8년 전

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

이렇게 변경

로그인 후 평가할 수 있습니다

답변에 대한 댓글 4개

d
designPARK
8년 전
와~~ 단 몇줄만에 해결되었습니다.~~ 전 이걸 몇주째 헤매고 있었는뎅 ㅠㅠ
도움 주셔서 감사합니다~~
d
designPARK
8년 전
IZSOFT님 혹시 지금 출력된 값이 47.999,232 이렇게 나오는데 위에서 반올림 적용은 어떻게 적용하면 될까요??
I
IZSOFT
8년 전
반올림은 아니지만 님코드 자체가 정수만 가지고 계산하는거라 소수점이 나오면 안됩니다.

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

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

님 원래 소스는 1,000,000 일경우 1000,000 이렇게 변환해서 이걸 parseInt 하니까 , 뒤가 짤려서 계산됩니다.
d
designPARK
8년 전
와~~ IZSOFT님 말씀대로 하니까 제대로 적용이 되었습니다~~ 다시한번 감사드립니다~~^^

댓글을 작성하려면 로그인이 필요합니다.

autoNumeric 강추합니다. 

 

https://github.com/BobKnothe/autoNumeric">https://github.com/BobKnothe/autoNumeric 

 

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