Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.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 自定义google fusion tables信息窗口中的数字格式错误_Javascript_Formatting_Google Fusion Tables - Fatal编程技术网

Javascript 自定义google fusion tables信息窗口中的数字格式错误

Javascript 自定义google fusion tables信息窗口中的数字格式错误,javascript,formatting,google-fusion-tables,Javascript,Formatting,Google Fusion Tables,提前谢谢。因此,我有一个自定义的选项卡式信息窗口,它使用addlistener事件打开。选项卡工作正常(图像、文本、链接),但显示的“我的数字”值很奇怪,例如,“我的成本”(在融合表中)为10.00,但在“信息”窗口中显示为10.00000000。如何将其四舍五入到2个有效数字 我试过: 在google fusion表中设置格式 使用javascript,例如Math.round(((e.row['Cost'].value)*100)/100)。有趣的是,这只是删除了所有的小数位,并产生10 这

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

我试过:

  • 在google fusion表中设置格式
  • 使用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>' +     
     .........................
    
    google.maps.event.addListener(层,'click',函数(e){
    if(infowindow)infowindow.close();
    else infowindow=new google.maps.infowindow();
    infowindow.setContent(
    '' +
    “
      ”+ “
    • ”+ “
    • ”+ “
    ”+ '' + '成本:'+e.row['Cost'].价值+'' .........................
    非常感谢您调查了这个问题,也感谢更大的编码社区提供了如此大的帮助,但这次我回答了自己的问题(基于其他问题)。此方法将数字作为字符串输入,对于以0结尾的实例,我只需解析float,将数字四舍五入,并将数字固定为2位

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

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

    用100和所有多余的数字进行舍入。
    toFixed
    已经进行了舍入。来源:

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

    var num=5.56789

    var n=num.toFixed(2)

    n的结果将是:

    5.57


    你能分享到你的站点和融合表的链接吗?谢谢!测试站点是。谢谢你能给我的任何帮助。另外需要注意的是,它使用的是一个融合表,但我也确保父表列被设置为显示小数点后两位。嗯……我没有访问该站点的权限。可以分享到该表的链接吗?如果表格是私人的,请随时发送到谷歌表格反馈的链接+kathryn@google.com.谢谢