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

천단위 컴마있는 숫자 곱하기 쉽게 하는 법 채택완료

도레미 3년 전 조회 2,190

수량과 단가를 입력하면 금액 자리에 [수량*단가] 값이 보이게 작업 중입니다.

수량,단가는 입력하면 천단위 컴마가 보이게 되어 있습니다.

 

함수로 만들기는 했는데, 내가 봐도 너무 복잡합니다.

컴퓨터의 주특기가 계산인데 수량*단가 라는 이 단순한 계산을 이렇게 복잡하게 해야하는지..

뭔가 훨씬 쉬운 방법이 있지 않을까요?

 

</p>

<p>function calc_sum() {

    var qty     = document.getElementById('qty') ;

    var uprice  = document.getElementById('uprice') ;

    var price     = document.getElementById('tprice') ;

    var qtyNum       = Number(qty.value.replace(/\,/g, '')); //-- 컴마있으면 제거

    var upriceNum = Number(uprice.value.replace(/\,/g, ''));

    var priceNum  = Number(price.value.replace(/\,/g, ''));

    if (qtyNum != 0 && upriceNum != 0) {      //-- 수량,단가가 둘 다 0 이 아니면..

        priceNum = qtyNum * upriceNum;        //-- 금액 계산 

    }

    qty.value = new Intl.NumberFormat().format(qtyNum);  //-- 다시 천단위 컴마 붙이기 

    if (qty.value =='0') {qty.value = ''}  //- 결과가 0 이면 공백으로 

    uprice.value = new Intl.NumberFormat().format(upriceNum);

    if (uprice.value =='0') {uprice.value = ''}

    price.value = new Intl.NumberFormat().format(priceNum);

    if (price.value =='0') {price.value = ''}

}

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

답변 3개

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

위 코드에서 불필요한 것은 다음 4줄 정도 같네요

qty.value = new ~~<--부터
~~
if (uprice.value =='0') ~~<--까지 

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

답변에 대한 댓글 2개

도레미
3년 전
답변 감사합니다.
그런데 그 부분은 수량,단가에서 컴마없이 입력했을 때, 컴마를 보여 주어야 하기 때문에 넣은 부분입니다.
제가 설명을 조금 잘못했네요. 죄송합니다.
도레미
3년 전
하루 더 기다렸는데, 추가 답변이 없는 것을 보니 다른 특별한 방법이 없는것 같네요..
그냥 제 소스를 정리해서 사용해야 겠습니다.
지적해 주신 균이님에게 감사드립니다..^^

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

RevDev
3년 전

정규식으로 하면 아주 심플하게 할수 있을겁니다

 

[code]


 

function AddComma(num)

{

var regexp = /\B(?=(\d{3})+(?!\d))/g;

return num.toString().replace(regexp, ',');

}

var nData = AddComma(nData);

[code]

 

저도 퍼왔습니다^^

 

출처: https://doolyit.tistory.com/127">https://doolyit.tistory.com/127 [동해둘리의 IT Study:티스토리]

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

답변에 대한 댓글 1개

도레미
3년 전
앗~ 지금 보았네요..ㅎ
감사합니다.
한번 검토해 보겠습니다...

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

천단위 컴마를 찍는거면,

 

php함수 number_format() 함수를 이용하면 되지 않나요?

 

단순히 변수 불러와서 계산하고 결과값은 number_format() 함수를 이용하는건

 

안되나요?

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

답변에 대한 댓글 1개

도레미
3년 전
php 파일 갔다 오기 전에 현재 화면에서 제어하고 싶어서 그렇습니다..^^

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

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

로그인