You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Apps Script数值拼接问题:如何实现数值串联而非算术相加

问题:如何实现数值拼接得到55而非10?

我需要将数值拼接(最终得到数值55,而非字符串类型的"55"),查文档只找到字符串拼接的方案:用+=运算符或concat()函数。当前脚本里用number_1 += number_2得到的是10,但期望value_4为55,求解决办法。

表格说明

表格包含表头id、value_1、value_2、value_3,对应数据行内容为1、2、3、4。

当前脚本

function getDatabaseAsObjectArray() {

  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = ss.getSheetByName('Sheet1');
  const values = sheet.getDataRange().getValues();
  const headers = values[0];
  const databaseAsObjectArray = [];

  for (let i = 1; i < values.length; i++) {
    const entry = {};
    for (let j = 0; j < headers.length; j++) {
      const key = headers[j];
      if (key === '') continue;
      entry[key] = values[i][j];
    }

    var number_1 = 5
    var number_2 = 5
    entry['value_4'] = number_1 += number_2
    
    databaseAsObjectArray.push(entry);
    console.log(entry);
  }
}

当前输出

{ id: 1, value_1: 2, value_2: 3, value_3: 4, value_4: 10 }

期望结果

value_4 = 55


解决方案

你需要的不是数值加法(5+5=10),而是将两个数值拼接成数字55,核心思路是先把数值转为字符串完成拼接,再转回数值类型:

修改关键代码段

将脚本中设置value_4的部分替换为以下任意一种写法:

写法1:显式转字符串再转数字

var number_1 = 5
var number_2 = 5
entry['value_4'] = Number(number_1.toString() + number_2.toString());

写法2:模板字符串简洁写法

var number_1 = 5
var number_2 = 5
entry['value_4'] = +(`${number_1}${number_2}`);

修改后的完整脚本

function getDatabaseAsObjectArray() {

  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = ss.getSheetByName('Sheet1');
  const values = sheet.getDataRange().getValues();
  const headers = values[0];
  const databaseAsObjectArray = [];

  for (let i = 1; i < values.length; i++) {
    const entry = {};
    for (let j = 0; j < headers.length; j++) {
      const key = headers[j];
      if (key === '') continue;
      entry[key] = values[i][j];
    }

    var number_1 = 5
    var number_2 = 5
    entry['value_4'] = +(`${number_1}${number_2}`);
    
    databaseAsObjectArray.push(entry);
    console.log(entry);
  }
}

说明

  • +=是数值加法运算符,只会执行加法运算;而拼接数值本质是先做字符串拼接,再转回数值类型。
  • 两种写法都能实现把5和5拼接成数值55,写法2更简洁直观。

内容的提问来源于stack exchange,提问作者user14155947

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 03:53:10