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)

相關問題