Den*_*Lam 4 javascript google-sheets google-apps-script
使用 Google Sheets Script Editor,我试图创建一个自定义函数,它可以帮助我格式化具有一定数量小数位的数字字符串。我需要字符串是数字类型,以便可以绘制数据图表。
我需要这个函数的原因是因为我有一个单元格内下拉菜单,它触发显示单元格内具有不同小数位的不同数字集。因此,我不能依赖 Sheets 中的静态数字格式设置。
虽然这会返回我想要的小数位数...
function format(amt) { return amt.toFixed(2); }
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
任何人都可以让我知道是否有办法创建一个自定义函数,让我控制我想要的小数位数,同时将其保持为数字字符串?
function format(x, n){
x = parseFloat(x);
n = n || 2;
return parseFloat(x.toFixed(n))
}
Run Code Online (Sandbox Code Playgroud)
基本上,您需要在调用 toFixed() 方法之后解析该值,但您是在调用 toFixed() 方法之前解析它。
用上面的函数你可以说format(amt)
得到2个小数位,或者format(2, n)
得到n
小数位
归档时间: |
|
查看次数: |
10489 次 |
最近记录: |