Javascript 如何使用Google脚本更改工具提示中数字的格式
我一直在试图找到一个详细的答案。但是运气不好,也许你们可以帮我 所以我正在用谷歌脚本构建这个图表。我用这个在Index.html文件中构建了图表Javascript 如何使用Google脚本更改工具提示中数字的格式,javascript,charts,google-apps-script,google-visualization,Javascript,Charts,Google Apps Script,Google Visualization,我一直在试图找到一个详细的答案。但是运气不好,也许你们可以帮我 所以我正在用谷歌脚本构建这个图表。我用这个在Index.html文件中构建了图表 google.visualization.ColumnChart(); 所以我收集了数据,并创建了一个数据表 var dataTable = new google.visualization.DataTable(); dataTable.addColumn('date', 'Week'); dataTable.addColumn('n
google.visualization.ColumnChart();
所以我收集了数据,并创建了一个数据表
var dataTable = new google.visualization.DataTable();
dataTable.addColumn('date', 'Week');
dataTable.addColumn('number', 'Build');
dataTable.addColumn('number', 'GP');
并像这样将这些选项添加到我的图表中
var options = {'title':'Production',
'width':1366,
'height':768,
'vAxis': {'format': 'currency'}
};
图表显示得非常好!但我有一个小问题。“数字”数据类型中的值实际上是货币值。但是,它们不是在工具提示中表示,而是像普通数字一样表示。它们之间没有逗号分隔,没有小数点,特别是没有美元符号。下面是我所说的一个例子。如何将这些特定自定义项添加到工具提示中。有什么想法吗
谢谢你们的帮助
真诚地,Sicariuxs您需要自定义工具提示字符串,并自己格式化字符串,以将其显示为货币。以下是如何做到这一点:
Number.prototype.formatMoney = function(c, d, t){
var n = this,
c = isNaN(c = Math.abs(c)) ? 2 : c,
d = d == undefined ? "." : d,
t = t == undefined ? "," : t,
s = n < 0 ? "-" : "",
i = parseInt(n = Math.abs(+n || 0).toFixed(c)) + "",
j = (j = i.length) > 3 ? j % 3 : 0;
return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "");
};
Number.prototype.formatMoney=函数(c、d、t){
var n=这个,
c=isNaN(c=Math.abs(c))?2:c,
d=d==未定义?“:d,
t=t==未定义?,“:t,
s=n<0?-“:”,
i=parseInt(n=Math.abs(+n | | 0).toFixed(c))+“”,
j=(j=i.length)>3?j%3:0;
返回s+(j?i.substr(0,j)+t:)+i.substr(j).替换(/(\d{3})(?=\d)/g,“$1”+t)+(c?d+Math.abs(n-i).toFixed(c).slice(2):”);
};
然后,只需将参数传递给工具提示并使用formatMoney函数,即。
build\u amount.formatMoney(2)
谷歌提供
在这里,我使用格式化程序格式化数据第二列中的数字。这样可以正确显示工具提示 我还在图表选项中为纵轴提供了一种格式,它与格式化程序是分开的
google.load('visualization','1',{'packages':['corechart'],'callback':drawChart});
函数绘图图(){
var data=new google.visualization.DataTable();
data.addColumn('string','Department');
data.addColumn(“数字”、“收入”);
data.addRows([
[Shoes',10700],
[‘体育’,-15400],
[Toys',12500],
[‘电子学’,-2100],
[“食物”,22600],
[“第1100条]
]);
var chart=new google.visualization.ColumnChart(document.getElementById('numberformat_div'));
//创建数字格式化程序
var formatter=new google.visualization.NumberFormat({
前缀:“$”,
否定:是的
});
//格式化第二列中的数据
格式化程序。格式化(数据,1);
图表绘制(数据、{
言辞:{
格式:‘$#,##0.00;($#,##0.00)’
}
});
}
嘿,谢谢你的帮助,伙计。我想你的代码正是我想要的。但是我仍然在formatter.format(data,1)上得到了这个代码>我知道这行代码也很糟糕,因为当我注释掉它时,图表运行良好。当然,工具提示上没有正确的格式。有什么建议吗?对不起!我成功了!我把你的代码搞砸了!但一旦我纠正了它!成功了!谢谢你,伙计!