javascript - Google 表格脚本数字小数位格式

标签 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

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

最佳答案

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

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

使用上面的函数,你可以说 format(amt) 得到 2 个小数位,或者 format(2, n) 得到 n 小数位

关于javascript - Google 表格脚本数字小数位格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47294647/

相关文章:

javascript - angular ui-select 中的 ng-disabled 选项缩小了文本框

javascript - Closure Compiler : @enum, 属性崩溃和 JSC_UNSAFE_NAMESPACE

google-apps-script - 如何使用谷歌应用脚​​本在谷歌表单中创建可分级的文本项?

google-apps-script - 为什么函数即使没有被调用也会运行?

javascript - 使用 google.script.run 从 html 调用库函数

xpath - 带有变量的 url 的 Google 电子表格公式

javascript - 咕噜巴贝尔不工作

JavaScript Promise Chaining - 模板文字的问题

google-apps-script - 将谷歌工作表中的单元格设置为只读而不锁定其列宽?

javascript - 每次发送电子邮件时如何标记每行中的单元格