我有一个带小数的数字,但是Google表格的ROUND函数仅适用于places参数中指定的第一个数字:
Google工作表中是否有任何功能可以如第二种情况所示? 基本上,我想要ROUND之类的东西,但是需要递归地工作。
答案 0 :(得分:0)
要直接回答您的问题,不,我不认为有任何函数可以启用递归舍入(或对此问题进行递归运算)。
但是,与您在问这个问题时所表现出的好奇心一样,我研究了如何通过脚本实现递归结果。这就是结果。
function reround(input) {
var num1 = 5;
do {
input = input.toFixed(num1);
input=+input;
num1--;
}while (num1 >-1); // continue running the loop while is greater than -1, i.e. until num1 = 0
return input;
}
此代码将作为脚本输入,然后可以在电子表格中使用该功能。它只需要一个参数(值),因为位置数已编码到脚本中。但毫无疑问,人们可以修改代码以接受小数位数作为参数(我不是那好奇;)。
这是常规和递归舍入的每个阶段的值顺序。
这是REROUND流程中的值的日志。
有趣的是要注意小数点后三位的差异。我没有探索过这个东西,所以没有解释。