Javascript 在google graph图表中设置浮点

Javascript 在google graph图表中设置浮点,javascript,graph,google-visualization,Javascript,Graph,Google Visualization,我想给google图表中的“数字”类型列分配137.55之类的值,然后绘制它。每当我分配浮点数时,它都会引发以下异常: Uncaught Error: Type mismatch. Value 32.03 does not match type number in column index 1 我的代码是这样的: var data = new google.visualization.DataTable(); data.addColumn('number','Loop')

我想给google图表中的“数字”类型列分配137.55之类的值,然后绘制它。每当我分配浮点数时,它都会引发以下异常:

Uncaught Error: Type mismatch. Value 32.03 does not match type number in column index 1 
我的代码是这样的:

      var data = new google.visualization.DataTable();

   data.addColumn('number','Loop');
   data.addColumn('number','ReqSec');
   var myTicks = new Array();

   var formatter = new google.visualization.NumberFormat({
       fractionDigits: 2
    });

   for (var i=0;i<arr.length;i++){
        myVal = $.trim(arr[i][10]);
        myVal = parseFloat(Math.round(myVal * 100) / 100).toFixed(2);
        data.addRow([parseInt(i), myVal]);
        myTicks[i] = i;
   }

   formatter.format(data, 1);

  // Create and draw the visualization.
  new google.visualization.AreaChart(document.getElementById('visualization')).
      draw(data, {curveType: "function",
                  width: 700, height: 400,
                  vAxis: {title: 'Throughput'},
                  hAxis: {title: 'Loop', ticks: myTicks}}
          );
var data=new google.visualization.DataTable();
data.addColumn('number','Loop');
data.addColumn('number','ReqSec');
var myTicks=新数组();
var formatter=new google.visualization.NumberFormat({
分位数:2
});
对于(var i=0;i这是您的问题:

myVal = parseFloat(Math.round(myVal * 100) / 100).toFixed(2);
toFixed
方法的返回值是字符串,而不是数字/100
将提供一个具有2个十进制精度的浮点数;您不需要对其调用
toFixed
。此外,对数字调用parseFloat是毫无意义的-您应该根据从数组中获得的字符串值调用它。第三,调用
parseInt(i)
也是无意义的,因为
i
已经是一个整数了(从技术上讲,javascript中的所有数字都是浮点)。请尝试以下方法:

for (var i=0;i<arr.length;i++){
    myVal = parseFloat($.trim(arr[i][10]));
    myVal = Math.round(myVal * 100) / 100;
    data.addRow([i, myVal]);
    myTicks[i] = i;
}
for (var i=0;i<arr.length;i++){
    myVal = parseFloat($.trim(arr[i][10]));
    data.addRow([i, {v: myVal, f: myval.toFixed(2)}]);
    myTicks[i] = i;
}

for(var i=0;i请共享
arr
和/或
myVal
的内容。如果您使用32.03手动输入数据,它工作正常,因此还有其他可疑之处。