Google apps script Google应用程序脚本自定义函数出错

Google apps script Google应用程序脚本自定义函数出错,google-apps-script,Google Apps Script,我有一个三栏的电子表格。所有数字都在华氏温度列中,其他两个数字由函数填充 Fahrenheit Celsius ComputedFahrenheit -200 -180 -160 -140 -120 -100 -80 -60 -40 -20 0 32 40 60 80 100 120 140 160 180 200 使用以下函数填充摄氏度和计算华氏度列: function f2c(fahrenheit) { if (typeof(fahrenheit) !== "number") {

我有一个三栏的电子表格。所有数字都在华氏温度列中,其他两个数字由函数填充

Fahrenheit  Celsius ComputedFahrenheit
-200
-180
-160
-140
-120
-100
-80
-60
-40
-20
0
32
40
60
80
100
120
140
160
180
200
使用以下函数填充摄氏度和计算华氏度列:

function f2c(fahrenheit) {
  if (typeof(fahrenheit) !== "number") {
    Logger.log(typeof(fahrenheit));
    throw "Fahrenheit column must contain numbers";
  }

  var celsius = (fahrenheit - 32) * (5/9);
  return celsius;
}

function c2f (celsius) {
  if (typeof (celsius) !== "number") {
      throw "celsius must be a number";
  }

  var fahrenheit = (celsius*(9/5)) + 32;
  return fahrenheit;
}
除第14行外,所有单元格均显示正确的数据:

40     4.444444444      Error: Loading Data ..
注:f2c使用Farenheit列,c2f使用Celsius列

我看不出有什么问题

项目关键:MESQb2p_hPY7vMP_LZjizjHo2ajWN_uqm


SDC键:df47e1281fe5caea

我刚刚重新创建了您的电子表格和函数,在第14行我得到:

40 4.444444 40

我建议你试试:

  • 创建新的电子表格

  • 创建新的google脚本文件

  • 重新测试


  • 好的,这似乎是谷歌新表单中的一个bug,与自定义函数相关,这些自定义函数的参数中有,可能与

    我创建了一个。我发现这个值有时会在刷新后计算出来,而其他时候则会一直停留在加载状态。但是,如果对
    c2f()
    f2c()
    的输出进行四舍五入,则代码可以一直返回

    此代码起作用,并将以与不舍入输出相同的精度结束:

    ROUND = Math.pow(10, 12);
    
    function f2c(fahrenheit) {
      if (typeof(fahrenheit) !== "number") {
        Logger.log(typeof(fahrenheit));
        throw "Fahrenheit column must contain numbers";
      }
    
      var celsius = (fahrenheit - 32) * (5/9);
      return Math.round(celsius * ROUND) / ROUND;
    }
    
    function c2f (celsius) {
      if (typeof (celsius) !== "number") {
          throw "celsius must be a number";
      }
    
      var fahrenheit = (celsius*(9/5)) + 32;
      return Math.round(fahrenheit * ROUND) / ROUND;
    }
    

    我已经在中实现了它。让我知道这是否有效

    当我重新加载时,它显示40,然后返回错误显示。我创建了一个新的电子表格,新的脚本文件,它显示正确。请参阅下面我对br1ckb0t的回复