정수를 문자열로 치환
본문
var getApi = {
_init: function() {
},
tradersAPI: function() {
$.ajax({
url: 'https://api-cb.qpyx.xyz/api/v1/trader/rank',
type: 'GET',
async: false,
cache: false,
dataType: 'json',
data: {
pageId: 0,
traderRole: 1,
pageSize: 12
},
success: function(response) {
for (var i=0; i<response.data.result.length; i++) {
var rdata = response.data.result[i];
console.log(rdata.trader.uid.toPrecision(3));
DOM.tradersDOM(rdata);
}
},
beforeSend: function(xhr) {
xhr.setRequestHeader("lang", "ko-KR");
xhr.setRequestHeader("platformid", "30");
}
});
},
tradersView: function(e) {
$.ajax({
url: 'https://api-cb.qpyx.xyz/api/v1/trader/resume?uid='+e,
type: 'GET',
async: false,
cache: false,
dataType: 'json',
data: {},
success: function(response) {
console.log(response);
}
});
}
};
var DOM = {
tradersDOM: function(e) {
var DOMElements = "";
var recentProfitRate = e.rankStat.recentProfitRate;
DOMElements += "<div class=\"col-md-6 col-lg-6\">";
DOMElements += "<div class=\"card\">";
DOMElements += "<div class=\"card-body\">";
DOMElements += "<div class=\"row row-sm align-items-center\">";
DOMElements += "<div class=\"col-auto\">";
DOMElements += "<span class=\"avatar avatar-md\" style=\"background-image:url('"+e.trader.avatar+"')\"></span>";
DOMElements += "</div>";
DOMElements += "<div class=\"col bar-line\">";
DOMElements += "<h3 class=\"mb-0\"><a href=\"#\">"+e.trader.nickName+"</a> 님</h3>";
DOMElements += "<div class=\"text-muted text-h5\">";
/* tag */
for (var i=0; i<e.tags.length; i++) {
DOMElements += "<kbd>"+e.tags[i].tag+"</kbd> ";
}
DOMElements += "</div>";
DOMElements += "</div>";
DOMElements += "<div class=\"col-auto lh-1 align-self-start\">";
DOMElements += "<a href=\""+g5_url+"/lank_view.php?uid="+e.trader.uid+"\" class=\"\"><div class=\"btn btn-danger\">팔로우</div></a>";
DOMElements += "</div>";
DOMElements += "</div>";
DOMElements += "<div class=\"row align-items-center mt-4\">";
DOMElements += "<div class=\"col\">";
DOMElements += "<div class=\"col-md-4\"><span class=\"green\">수익률</span><br />"+recentProfitRate+"</div>";
DOMElements += "<div class=\"col-md-4\"><span class=\"gray\">최근 3주 거래 승률</span><br />"+e.rankStat.recentSuccessRate+"</div>";
DOMElements += "<div class=\"col-md-4\"><span class=\"gray\">누적 팔로워</span><br />"+e.rankStat.strFollowerNum+"</div>";
DOMElements += "</div>";
DOMElements += "</div>";
DOMElements += "</div>";
DOMElements += "</div>";
DOMElements += "</div>";
$("#traders").append(DOMElements);
}
};
이와같이 처리했는데 문자열로 치환시킨다면 어디를 어떻게 바꿔야될까요?
uid 값을 가져올때 18자리라서 16자리에서 반올림되고 있습니다.
문자열로 치환하라는데 어디를 어떻게 해야할까요?
!-->
답변 2
bingbon까지 가서 다 살펴봤어요.
uid는 api에서 이미 반올림된 상태에서 받아오기 때문에 방법이 없습니다.
api만드는 프로그래머가 실수했을 가능성이 높습니다.
한 이정도 되지 않을까요?
.....
success: function(response) {
for (var i=0; i<response.data.result.length; i++) {
var rdata = response.data.result[i];
// 일단 방금 받아온 따끈따끈한 값을 찍어봄
console.log(rdata.trader.uid);
// 여기서 이미 반올림이 되어있다면 해결 불가
// 반올림이 아직 안된 상태면
// 문자형으로 변환
rdata.trader.uid = String(rdata.trader.uid);
// 다시 찍어봄
console.log(rdata.trader.uid);
DOM.tradersDOM(rdata);
}
},
....
!-->
답변을 작성하시기 전에 로그인 해주세요.