Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Javascript中很难将json对象值舍入到小数点后两位_Javascript_Json - Fatal编程技术网

在Javascript中很难将json对象值舍入到小数点后两位

在Javascript中很难将json对象值舍入到小数点后两位,javascript,json,Javascript,Json,我很难将val.distance转换为圆形 从服务器传递的val.distance值为197.13572611205996。我想做的是把它四舍五入到197.13或197.14。在输出它之前。如果我运行它,它会破坏代码,但是当我运行它时,它不会试图使数字变圆 $.getJSON('http://localhost/locategas/pas-autofind.php?lat='+poslat+'&lon='+poslon+'&jsoncallback=?', function (

我很难将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   
 });

任何帮助都将不胜感激,谢谢。

如果不看到您的错误消息,很难判断,但我想

math.round(…)
应该是

Math.round(…)
但这只是问题的第一部分,因为Math.round将四舍五入为整数,而不是小数点后2位

galchen的答案是用一种更简单的方法来实现你想要做的事情

(Number(8.2342342)).toFixed(2)
编辑:目的是铸造,因此只需要编号,不需要新编号


参考资料:

你为什么不做类似的事情呢

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

这应该为您提供123.12的值。

您可以通过提供控制台中显示的准确错误消息来提供帮助。JS区分大小写,请尝试Math.round。此外,这里也值得一提,我想是的,我尝试了galchen的答案,效果很好,谢谢您的帮助。我今天学到了一些东西