我一直很难正确理解数字格式令牌,这一次似乎也不例外。
我在脚本底部放置了一个小条件,使我能够区分数字在工作表上的变化范围:
if (value < 1) {var a = a.toFixed(8);}
if (value > 1 && value < 10) {var a = a.toFixed(4);}
if (value >=10) {var a = a.toFixed(2);}
不过,为了简化并希望加快脚本的速度,我想将此模式转换到setNumberFormat()
方法。
现在,本指南建议可以设置特定的条件,以便提供更广泛的可能性;我认为这就是我的情况,问题是我根本无法使脚本工作:
这个可以用
var range = sheet_Numbers.getRange(['C:E']);
range.setNumberFormat("[<1]###0.########;[>10]####.##;##.####");
但是没有产生预期的结果:我的意思是数字介于1和10之间,显示小数点后的4位数字,而不是3。
我所有其他尝试的应用指南方向返回错误代替。
按照指南,我认为我可以提供类似的内容,但情况似乎并非如此:
var range = sheet_Numbers.getRange(['C:E']);
range.setNumberFormat("[[<1]####.########;[>10]####.##;####.####];[NEGATIVE FORMAT];[ZERO FORMAT]");
有什么建议吗?
发布于 2019-12-15 21:47:32
如果您希望将5.655呈现为5.6550(小数点之后的4位数,不管意义如何),请使用0
而不是#
。
"[<1]###0.########;[>10]####.##;##.0000"
或者更一般的
"[<1]###0.00000000;[>10]####.00;##.0000"
https://stackoverflow.com/questions/59347417
复制相似问题