Google apps script 谷歌应用程序脚本-百分比格式和数组

Google apps script 谷歌应用程序脚本-百分比格式和数组,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我对以下几点感到困惑 我有一个谷歌电子表格上的数据,我正在把它放到一个数组中。我正在对数据进行一些修改,然后将其放回电子表格中。我的数字在电子表格上的格式是这样的:00.00%当它们进入数组时,它们的格式是这样的0.0,当我把它们放回到电子表格上的00.00%格式时,它们被除以100。所以当我把数据放回去的时候,最初的20.00%变成了0.20% 所以,我想我应该把所有的数值乘以100,然后再把它们放回纸上,这似乎是一个不必要的步骤 我的问题是,我是否可以在处理数组中的数据时做一些不同的事情,或

我对以下几点感到困惑

我有一个谷歌电子表格上的数据,我正在把它放到一个数组中。我正在对数据进行一些修改,然后将其放回电子表格中。我的数字在电子表格上的格式是这样的:00.00%当它们进入数组时,它们的格式是这样的0.0,当我把它们放回到电子表格上的00.00%格式时,它们被除以100。所以当我把数据放回去的时候,最初的20.00%变成了0.20%

所以,我想我应该把所有的数值乘以100,然后再把它们放回纸上,这似乎是一个不必要的步骤


我的问题是,我是否可以在处理数组中的数据时做一些不同的事情,或者将每个值乘以100是我唯一的选择?

这是一个众所周知的错误:

:设置百分比格式单元格的值失败

参观并主演它,也许它会得到更多的关注

如果从百分比格式的单元格中读取和写入值,则必须重新计算百分比值

此函数使用范围的格式值对任何百分比单元格应用
*=100
操作:

/**
 * Adjusts the values for elements in values array if the
 * corresponding format element is a percentage.
 * Value array is changed in place, as well as returned.
 */
function percentAdjust(values,formats) {
  for (var row = 0; row < values.length; row++) {
    for (var col = 0; col < values[0].length; col++) {
      if (formats[row][col].indexOf('%') !== -1) {
        // Adjust any percent formatted values
        values[row][col] *= 100;
      }
    }
  }
  return( values );
};

function test () {
  var sheet = SpreadsheetApp.getActiveSheet();
  var rows = sheet.getDataRange();
  var values = rows.getValues();
  var formats = rows.getNumberFormats();

  rows.setValues(percentAdjust(values,formats));
}
/**
*如果
*对应的格式元素是百分比。
*值数组被就地更改,并返回。
*/
函数百分比调整(值、格式){
对于(变量行=0;行
这是一个众所周知的错误:

:设置百分比格式单元格的值失败

参观并主演它,也许它会得到更多的关注

如果从百分比格式的单元格中读取和写入值,则必须重新计算百分比值

此函数使用范围的格式值对任何百分比单元格应用
*=100
操作:

/**
 * Adjusts the values for elements in values array if the
 * corresponding format element is a percentage.
 * Value array is changed in place, as well as returned.
 */
function percentAdjust(values,formats) {
  for (var row = 0; row < values.length; row++) {
    for (var col = 0; col < values[0].length; col++) {
      if (formats[row][col].indexOf('%') !== -1) {
        // Adjust any percent formatted values
        values[row][col] *= 100;
      }
    }
  }
  return( values );
};

function test () {
  var sheet = SpreadsheetApp.getActiveSheet();
  var rows = sheet.getDataRange();
  var values = rows.getValues();
  var formats = rows.getNumberFormats();

  rows.setValues(percentAdjust(values,formats));
}
/**
*如果
*对应的格式元素是百分比。
*值数组被就地更改,并返回。
*/
函数百分比调整(值、格式){
对于(变量行=0;行
谢谢-由星号表示。在我乘以100之前,我只是在测试列是否是一个数字,但我喜欢你检查格式是否为百分比的方法。谢谢,我给它加了星号。在乘以100之前,我只是测试列是否是一个数字,但我喜欢你检查格式是否为百分比的方法。