使用 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/