Google表格脚本编号十进制位置Fomatting

时间:2017-11-14 20:30:10

标签: javascript google-apps-script google-sheets

使用Google表格脚本编辑器,我正在尝试创建一个自定义函数,可以帮助我格式化具有一定小数位数的数字字符串。我需要将字符串作为数字类型,以便可以绘制数据。

我需要此功能的原因是因为我有一个单元格下拉列表触发显示单元格中不同小数位的不同数字组。因此,我不能依赖表格中的静态数字格式设置。

虽然这会返回我想要的小数位数......

function format(amt) { return amt.toFixed(2); }

toFixed()创建一个文本字符串,因此该值不能用于图表(图表会说"没有数据")。

我尝试了以下替代方案......

return parseFloat(amt); // var = number; can chart but cannot control decimal places
return parseFloat(amt).toFixed(2); //var = string; cannot chart
return parseInt(amt).toFixed(2); //var = string; cannot chart

有没有人可以告诉我是否有办法创建一个自定义函数,让我控制我想要的小数位数,同时将其作为数字字符串保存?

1 个答案:

答案 0 :(得分:3)

function format(x, n){
    x = parseFloat(x);
    n = n || 2;
    return parseFloat(x.toFixed(n))
}

基本上你需要在调用toFixed()方法之后解析值,但是在调用toFixed()方法之前你要解析它。

使用上述功能,您可以说format(amt)可获得2位小数,或format(2, n)可获得n小数位