0

提前致谢。所以我有一个使用 addlistener 事件打开的自定义选项卡式信息窗口。选项卡正常工作(图像、文本、链接),但我显示的数值很奇怪,例如我的成本(在融合表中)是 10.00,但在信息窗口中显示为 10.00000000。如何将其四舍五入为 2 位有效数字?

我试过了:

  1. 在谷歌融合表中设置格式。
  2. 使用 javascript,例如 Math.round(((e.row['Cost'].value)*100)/100)。有趣的是,这只是删除了所有小数位并产生 10。

这是我的代码的一部分

google.maps.event.addListener(layer, 'click', function(e) {
if(infowindow) infowindow.close();
else infowindow = new google.maps.InfoWindow();
    infowindow.setContent(
    '<div class="tabs">' +
'<ul>' +
'<li><a href="#tab-1"><span>tab 1</span></a></li>' +
'<li><a href="#tab-2"><span>tab 2</span></a></li>' +
'</ul>' +
'<div id="tab-1">' +

 '<b><div class="infowindow_row">Cost:</b> ' + e.row['Cost'].value + '</div>' +     
 .........................
4

2 回答 2

0

乘以 100 的舍入和所有这些都是多余的。toFixed已经进行了四舍五入。来自w3schools

将数字转换为字符串,只保留两位小数:

变量编号 = 5.56789;

var n=num.toFixed(2);

n 的结果将是:

5.57

于 2012-12-13T15:21:36.700 回答
0

好吧,感谢您调查问题并感谢更大的编码社区提供的帮助,但这次我回答了我自己的问题(基于其他问题)。这种方法将数字作为字符串引入,我只需要解析浮点数,将数字四舍五入并将数字固定到 2 个位置,以用于数字以 0 结尾的实例。

var apDA =  (Math.round(parseFloat(e.row['Cost'].value)*100)/100).toFixed(2) ;

有趣的是,在 google fusion 表中设置数字类型会影响数字在标准信息窗口中的显示方式,但不会像我上面那样解析出来。

于 2012-02-24T14:05:26.217 回答