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

상품상세보기 환율변환 문제입니다. 채택완료

앤시아 6년 전 조회 3,479

안녕하세요.

 

상품상세보기 게시판에 원화표시를 환율 API를 가져와서 달러와 같이변환하여 보여주려 합니다.

 

Jsfiddle로 환율변환은 확인하였는데 적용하는게 되질 않네요.

 

https://jsfiddle.net/oxy5qk72/">https://jsfiddle.net/oxy5qk72/

 

아래는 shop.js 코드중 계산하기 부분입니다.

 

</p>

<p>// 가격계산

function price_calculate()

{

    var it_price = parseInt($("input#it_price").val());</p>

<p>    if(isNaN(it_price))

        return;</p>

<p>    var $el_prc = $("input.io_price");

    var $el_qty = $("input[name^=ct_qty]");

    var $el_type = $("input[name^=io_type]");

    var price, type, qty, total = 0;</p>

<p>    $el_prc.each(function(index) {

        price = parseInt($(this).val());

        qty = parseInt($el_qty.eq(index).val());

        type = $el_type.eq(index).val();</p>

<p>        if(type == "0") { // 선택옵션

            total += (it_price + price) * qty;

        } else { // 추가옵션

            total += price * qty;

        }

    });</p>

<p>    $("#sit_tot_price").empty().html("<span class='zex' cur='KRW>'총 금액 :</span> "+number_format(String(total))+" KRW");

if($(".zex")[0]){

    $.getJSON('<a href="https://api.exchangeratesapi.io/latest?base=USD')" target="_blank" rel="noopener noreferrer">https://api.exchangeratesapi.io/latest?base=USD')</a>

    .done(function(data){

        $('.zex').each(function() {

            var cur = $(this).attr('cur');

            if( cur == undefined ) return;

            var old = $(this).text();

            var num = Math.abs(old.match(/\d+/)[0]/data.rates[cur]);

            num = num.toFixed(2).replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1,')

            $(this).html( old + ' - '+ num +' USD (예상금액)');

      

        })

    })

}</p>

<p>

}</p>

<p>

위 코드중에서 

number_format(String(total))+"&nbsp;KRW" 변수 부분이 웹페이지에서는 NaN으로 뜨는데 이부분을 나오게 하려면 어떻게 처리하면 되는것인지요.

 

아래는 해당 웹페이지 주소입니다. PC화면 작업중입니다.

http://ncia.raonnet.com/kr/shop/item.php?it_id=1568178849">http://ncia.raonnet.com/kr/shop/item.php?it_id=1568178849

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

답변 2개

채택된 답변
+20 포인트
목동이되어

number_format(String(total)) 부분을  comma(total)로 변경하시면됩니다.

 

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

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

답변에 대한 댓글 1개

앤시아
6년 전
목동이되어님 답변 감사드립니다.
변경을 하는 부분이 number_format(String(total)) 부분을 comma(total) 이부분만 변경하면 되는지요?

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

목동이되어

네 comma함수추가후에 number_format(String(total)) 부분을  comma(total) 이렇게만 변경하시면 됩니다.

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

답변에 대한 댓글 1개

앤시아
6년 전
목동이 되어님 감사합니다. 다른 방법으로 해결은 했습니다만
또다른 문제에 부딪혔습니다. ㅎㅎ
70,000 KRW라면 숫자 앞부분만 변환이되네요 70만 변환되어서 0.06 USD 로 나오네요.
이 문제 해결중입니다.
답변 너무 감사드립니다. ^^

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

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

로그인