천단위 컴마있는 숫자 곱하기 쉽게 하는 법

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
천단위 컴마있는 숫자 곱하기 쉽게 하는 법

QA

천단위 컴마있는 숫자 곱하기 쉽게 하는 법

본문

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

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

 

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

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

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

 


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

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

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

답변 감사합니다.
그런데 그 부분은 수량,단가에서 컴마없이 입력했을 때, 컴마를 보여 주어야 하기 때문에 넣은 부분입니다.
제가 설명을 조금 잘못했네요.  죄송합니다.

하루 더 기다렸는데, 추가 답변이 없는 것을 보니 다른 특별한 방법이 없는것 같네요..
그냥 제 소스를 정리해서 사용해야 겠습니다.
지적해 주신 균이님에게 감사드립니다..^^

천단위 컴마를 찍는거면,

 

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

 

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

 

안되나요?

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

 

[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 [동해둘리의 IT Study:티스토리]

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

회원로그인

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