javascript Google Chart API 中的数字类型不匹配
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/24365731/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Type mismatch for number in Google Chart API
提问by user3362533
I have an array and the second column with values like this 2050.878456
and inside my javascript function to create a Area Chart I made the following
我有一个数组和第二列这样的值2050.878456
,在我的 javascript 函数中创建了一个面积图我做了以下
function drawVisualization() {
var data = null;
data = new google.visualization.DataTable();
data.addColumn('string', 'Date');
data.addColumn('number', 'Value');
data.addRows(myArrayCreated);
// Create and draw the visualization.
var ac = new google.visualization.AreaChart(document
.getElementById('visualization_chart'));
ac.draw(data, {
title : 'Results',
isStacked : true,
width : 700,
height : 400,
vAxis : {title : "kW"},
hAxis : {title : "Day"}
});
}
however I get this error Type mismatch. Value 2050.878456 does not match type number in column index 1
however it cannot be a string type as well, why do I get this error and how to fix it?
但是我收到此错误,Type mismatch. Value 2050.878456 does not match type number in column index 1
但它也不能是字符串类型,为什么我会收到此错误以及如何修复它?
回答by Fr0zenFyr
Try passing the Value
as string
and then later do a parseFloat
. Something like this:
尝试传递Value
asstring
然后稍后执行parseFloat
. 像这样的东西:
data.addColumn('string', 'Value');
for (var i=0;i<myArrayCreated.length;i++){
myVal = parseFloat($.trim(myArrayCreated[i][1]));
data.addRow([i, {v: myVal, f: myval.toFixed(6)}]);
}