채택완료

네이버 환율 뿌리기

 

Copy
$usd = $Data["USD"]["1"];
 echo $usd;
 

 

네이버환율을 php로 가져와서 echo문으로 찍어보니

 

1170.05 이렇게 잘가져오더라구요 이걸 

 

 

Copy
<script>

usdkrw = <?=$usd?>;

</script>
 

 

이와같이 처리하면 값이 119758.99% 이렇게 나오고

 

Copy
<script>

usdkrw = 1170.05;

</script>
 

 

직접적으로 숫자를 넣어주면 2.6% 이렇게 잘나옵니다 왜그런걸까요?

|

답변 3개 / 댓글 3개

채택된 답변
+20 포인트

계산이 잘못되는건 문자 , 숫자 의 형변환이 안되서 그런건데

 

스크립트에서 

 

usdkrw = Number(<?=$usd?>);

 

이걸로 안되면

 

 

usdkrw = parseFloat(<?=$usd?>);

 

이렇게 해보세요

답변에 대한 댓글 1개

답변감사드립니다 하지만 echo 찍었을땐 1172 정확히 찍히는데 스크립트에서만 달라지네요 계산수식에 들어가면서 바껴서 그런지 모르겠네요

Copy
<script> usdkrw = "<?=$usd?>"; </script>

따옴표?

답변에 대한 댓글 1개

NAN% 표시되네요 ㅠ

Copy
<script>
usdkrw = Number(<?=$usd?>);
</script>

로 해보세요

답변에 대한 댓글 1개

ㅠㅠ동일합니다 php쪽에서도 number_format으로 해줘도 같네요 값은 같나봐요

usdkrw = 1172;
window.setInterval(function(){
oTable.rows().invalidate();
oTable.draw();
$.get("https://api.binance.com/api/v3/ticker/price", function(data) {
// console.log(data);
data.forEach(e => {
if (e.symbol.slice(-4, e.symbol.length) == "USDT") {
// console.log(e.symbol.slice(0, -4), e.symbol.slice(-4, e.symbol.length));
var symbol = e.symbol.slice(0, -4);
var binance_price = parseFloat(e.price)*usdkrw;
var upbit_price = $("#money_"+symbol).attr("price");
// console.log(upbit_price);
$("#icon_"+symbol).text( (Math.round((upbit_price-binance_price)/binance_price * 10000 )/100).toFixed(2).toLocaleString()+"%" );
if ((upbit_price-binance_price)/binance_price > 0) {
$("#icon_"+symbol).css({"color": "#e21616"});;
}
else if ((upbit_price-binance_price)/binance_price < 0) {
$("#icon_"+symbol).css({"color": "#162fe2"});;
}
else {
$("#icon_"+symbol).css({"color": "#000"});;
}

}
});
});

해당 값입니다 ㅠㅠ

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