2016-02-05 102 views
1

我一直在试图为此找到详细的答案。但没有运气,所以也许你们可以帮助我。如何使用Google脚本在工具提示中更改数字的格式

因此,我正在使用Google脚本构建此图表。我使用这个在一个Index.html文件中构建了图表。

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'} 
        }; 

图表显示出奇妙!但我有一个小问题。 “数字”数据类型中保存的值实际上是货币值。但是,不要像这样在工具提示中表示,而是像常规数字那样表示。它们没有用逗号隔开,没有小数点,尤其没有美元符号。这是我正在谈论的Screenshot。我将如何将这些特定的自定义项添加到工具提示中。有任何想法吗?

谢谢各位先进的帮助!

真诚,
Sicariuxs

回答

1

谷歌提供了一个number formatter

在这里,我用的格式化程序格式化数据第二列中的数字。
这允许工具提示正确显示。

我还在垂直轴的图表选项中提供了格式,它与格式化程序是分开的。

google.load('visualization', '1', {'packages': ['corechart'], 'callback': drawChart}); 
 

 
function drawChart() { 
 
    var data = new google.visualization.DataTable(); 
 
    data.addColumn('string', 'Department'); 
 
    data.addColumn('number', 'Revenues'); 
 
    data.addRows([ 
 
    ['Shoes', 10700], 
 
    ['Sports', -15400], 
 
    ['Toys', 12500], 
 
    ['Electronics', -2100], 
 
    ['Food', 22600], 
 
    ['Art', 1100] 
 
    ]); 
 

 
    var chart = new google.visualization.ColumnChart(document.getElementById('numberformat_div')); 
 

 
    // create number formatter 
 
    var formatter = new google.visualization.NumberFormat({ 
 
    prefix: '$', 
 
    negativeParens: true 
 
    }); 
 

 
    // format data in second column 
 
    formatter.format(data, 1); 
 

 
    chart.draw(data, { 
 
    vAxis: { 
 
     format: '$#,##0.00;($#,##0.00)' 
 
    } 
 
    }); 
 
}
<script src="https://www.google.com/jsapi"></script> 
 
<div id="numberformat_div"></div>

+0

嘿感谢您的帮助的人。我认为你的代码正是我正在寻找的。但是我仍然在'formatter.format(data,1)上得到了这个[error](https://i.imgur.com/SvjAZSG.png);'我知道这是一行代码,因为当我评论它出来,然后图表运行良好。但是,当然没有正确的工具提示格式。有什么建议么? – Sicariuxs

+0

我的歉意!我得到它的工作!我弄乱了你的代码行!但是,一旦我纠正它!有效!非常感谢! – Sicariuxs

+0

干杯!乐意效劳... – WhiteHat

0

您需要定制工具提示字符串和格式化字符串自己将它们作为货币。这里是你如何能做到这一点:

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) : ""); 
}; 

然后,只需传递参数工具提示和使用formatMoney功能,即 build_amount.formatMoney(2)

相关问题