簡體   English   中英

難以將JSON對象的值四舍五入到Javascript中的小數點后兩位

[英]Difficulty rounding up json object value to two decimal place in Javascript

我很難將val.distance轉換為圓形。

從服務器傳遞的val.distance值為197.13572611205996。 我想做的是將其四舍五入到197.13或197.14。 在輸出之前。 如果我運行它會破壞代碼,但是當我運行它而不嘗試四舍五入時它會工作。

 $.getJSON('http://localhost/locategas/pas-autofind.php?lat='+poslat+'&lon='+poslon+'&jsoncallback=?', function (data) {

 var output='<ul data-role="listview" data-filter="true">';

$.each(data.david, function(key,val){

var MYDISTANCE = math.round(val.distance); 

output+='<li>';
    output += '<a href="#detailPage" onclick="showPost(' + val.stationId + ')">';
    output+='<h3>' + val.stationName + '</h3>';
    output+='<p>' + val.region + '</p>';
    output+='<p>' + val.city + '</p>';
    output+='<p>' + val.town + '</p>';
    output+='<p>' + val.email + '</p>';
    output+='<p>' + val.tel1 + '</p>';
    output+='<p>' + val.tel2 + '</p>';
    output+='<p>' + val.status + '</p>';
    output+='<p>' + MYDISTANCE  + '</p>';
    output+='</a>';
    output+='</li>';
}); // go through each post
output+='</ul>';
$('#ul-li-items').html(output);
$('#ul-li-items').trigger('create');
// lists all the posts   
 });

任何幫助將不勝感激,謝謝。

(Number(8.2342342)).toFixed(2)

編輯:目的是強制轉換,因此只需要Number()而不是新的Number()

參考: new Number()vs Number()

很難看到錯誤消息,但是我想那是

math.round(…)

應該

Math.round(…)

但這只是問題的第一部分,因為Math.round將舍入為整數,而不是小數點后2位。

galchen的答案是實現您要完成的操作的更簡單方法。

你為什么不做類似的事情?

var value=123.123456;
value=value.toFixed(2);

這應該為您提供值123.12。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM