在Google Chart API中输入不匹配的数字 [英] Type mismatch for number in Google Chart API

查看:141
本文介绍了在Google Chart API中输入不匹配的数字的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个数组,第二列的值是这样的 2050.878456 ,并在我的javascript函数中创建了一个Area Chart,我做了以下内容:

 函数drawVisualization(){
var data = null;
data = new google.visualization.DataTable();
data.addColumn('string','Date');
data.addColumn('number','Value');
data.addRows(myArrayCreated);
//创建并绘制可视化文件。
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}
});


$ / code>

但是我得到这个错误 Type不匹配。值2050.878456与列索引1中的类型号不匹配,但它也不能是字符串类型,为什么我得到这个错误以及如何解决它?

Value 作为字符串传递,然后再传递给做一个 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)}]);
}


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

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?

解决方案

Try passing the Value as string and then later do a parseFloat. Something like this:

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)}]); 
}

这篇关于在Google Chart API中输入不匹配的数字的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆