자바스크립트 환율변환 질문입니다.

자바스크립트 환율변환 질문입니다.

QA

SIR 제작의뢰 - 견적무료/익명보정/호스팅, DB 이전/단기개발. 이젠 ' 의뢰인'이 원하는 '제작자'에게만 연락처를 알릴 수 있습니다.

자바스크립트 환율변환 질문입니다.

본문

API로 환율을 가져와서 상품가격 옆에 달러표시를 하려는데요.

 

아래 코드의 경우 1000원을 입력하면 1$표시가 됩니다.

 

제가 원하는 것은 소수점까지 정확하게 떨어지는것을 원하는데요.

 

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

 

밑에 코드에는 ceil함수가 넣어졌는데요. 어떻게 수정을 해야 달러로 소수점 2자리까지 변환이 되는지요.

 

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

 

 num에 들어간 정규표현식의 경우 어떤용도로 되어있는걸까요?

 

밑에는 예제 코드 주소입니다.

 

https://jsfiddle.net/ncia/fh5rwj79/

 

<br><span class='zex' cur='KRW'>1000</span>

<script src='//code.jquery.com/jquery.min.js'></script>
<script>
if($(".zex")[0]){
    $.getJSON('https://api.exchangeratesapi.io/latest?base=USD')
    .done(function(data){
        $('.zex').each(function() {
            var cur = $(this).attr('cur');
            if( cur == undefined ) return;
            var old = $(this).text();
            var num = Math.ceil(old.match(/\d+/)[0]/data.rates[cur]);
            num = num.toFixed(2).replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1,')
            $(this).html( old + ' (약 '+ num +'$)');
        })
    })
}
</script>

 

:: 추가 코멘트

 

다국어 쇼핑몰 구축 힘드네요 ㅠㅠ

 

https://sir.kr/yc5_ps/465

 

위 의당도신님이 결제 플러그인 페이팔과의 연동을 보고 쪽지를 보냈는데 연락이 되지 않아 직접 코드를 찾는중입니다.

 

아직 결제쪽은 기준결제 환율을 잡고 가는지 개념이 서질 않네요.

 

가장 이상적인 모양은 각나라별로 Location Currency Exchange화 시켜버리고 싶지만 그러려면 코어를 건드려야 할듯하고 수준에서 달러표시만 추가해주고 결제모듈과의 연동으로 타협을 보려합니다.

 

혹시 좋은 팁이 있으시면 알려주십시요.

작업 가능하신분 있으시면 쪽지 부탁드립니다.

이 글을 내 페이스북 계정으로 보내기 이 글을 내 트위터 계정으로 보내기 이 글을 내 구글플러스 계정으로 보내기

이 질문에 댓글 쓰기 :

답변 1

채택됨

팻시님의 답변

프로그램은 하실중 아시는 분일텐데요.

아시다시피 ceil 은 가장 가까운 큰 정수로 변하게 해주죠

var num = Math.ceil(old.match(/\d+/)[0]/data.rates[cur]); << 이부분의 ceil 보다

정규식 부분이 더 중요한것 같아요. 위의 정규식은 숫자만 가져오게 하므로.

애당초 소수점이 나올수 없습니다.

 

한번 출력을 해보세요.]

 

소수점 , 음수까지 가져올 수 있는 정규식은 /[^-\.0-9]/g 같은 방식이 있습니다.

주소복사
채택됨
답변의 댓글
앤시아님의 댓글
답변 감사드립니다. 팻시님.
해결은 했습니다.

var num = Math.abs(old.match(/\d+/)[0]/data.rates[cur]);
문제가 원화표시의 000,000 수 끊기에서 제대로 작동되는지 문제입니다,

일단 정수가 아닌 끊어서 넣으니 에러가 나는데요. 함수부분을 좀더 찾아보겠습니다
답변 감사합니다.
답변을 작성하시기 전에 로그인 해주세요.
전체 79,671 | RSS
고마운 분의 도움으로 질문을 해결하셨다면, 채택을 눌러서 감사의 마음을 전하세요.
어떻게 질문해야 할지 모른다면 질문하는 방법을 읽어 보신후 질문해 보세요.
QA 내용 검색

회원로그인

(주)에스아이알소프트 (06253) 서울특별시 강남구 도곡로1길 14, 6층 624호 (역삼동, 삼일프라자) 대표메일:admin@sir.kr
사업자등록번호:217-81-36347 대표:홍석명 통신판매업신고번호:2014-서울강남-02098호 개인정보보호책임자:이총

© SIRSOFT