在Google电子表格中,我通过Apps脚本和Analytics API从Google Analytics中提取一些数字。
其中一个数字是跳出率,以42.380071394743425格式返回。我想在小数点后用两位数显示它(我需要添加一个百分号)。我想通过setNumberFormat。
这样做然而,format token喜欢" 0.00","#,##"等输出像" 4.238.007.139.4743.425"这根本不是我想要的。我有点怀疑问题的一部分可能是我的文档是德语,逗号为十进制分隔符,并且返回的API中的数字有一个小数点(或者我可能忽略了一些简单的东西,这很可能)
那么,我可以使用setNumberFormat,我必须使用什么格式的标记来转换" 42.380071394743425"进入" 42,38%" ?
我正在使用内置App服务。我没有其他类型的KPI问题,只有像bounceRate这样的百分比值。
var viewId = "<myViewId>"
var options = {};
options['max-results'] = 1;
metric = "ga:bounceRate"; // actually this is passed in as a function parameter
// formatDate is a wrapper that calls Utilities.formatDate
var startDate = formatDate(pDate, 'yyyy-MM-dd');
var endDate = formatDate(pDate, 'yyyy-MM-dd');
var report = Analytics.Data.Ga.get(viewId, startDate, endDate, metric, options);
.....
token = [];
// format is passed in as a function parameter to fit the metric
switch(format) {
case("percentage"):
token.push(["0.00%"]);
break;
default:
token.push(["0.00"]); // tried different options to no avail
break;
}
sheet.getRange(<row>,<col>).setValue(report.rows).setNumberFormats(token);
正如我所说,如果API返回未格式化的数字,代码本身工作正常(因此我不认为问题出在代码中),但我无法通过bounceRate来显示我的方式想。
感谢您的时间。
答案 0 :(得分:1)
选择Format > Number > More Formats > Custom number formats...
并输入##.##"%"
。
或者您可以通过GAS以相同的方式设置数字格式。
var range = sheet.getActiveRange();
range.setNumberFormat('##.##"%"');
这是美国的语言环境。您可以根据电子表格的区域设置(File > Spreadsheet settings...
)更改格式字符串。正如您在this documentation中看到的那样,格式取决于电子表格的区域设置。