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

Node.js Lambda函数中事件参数数值相加变拼接问题求助

问题解决:DynamoDB数值拼接而非求和

问题根源很明确:

  • event.First 和 event.Second 是字符串类型,直接用 + 会触发字符串拼接逻辑,而非数值求和
  • 你把结果存在了DynamoDB的S(字符串)类型字段里,即使完成求和也会以字符串形式存储

修正方案

1. 保持原字段类型(字符串),先求和再存

先把两个值转成数值类型完成求和,再转成字符串存入:

"Total": { "S": (parseInt(event.First, 10) + parseInt(event.Second, 10)).toString() }

如果是浮点数计算,把parseInt换成parseFloat即可。

2. 改用DynamoDB数值类型存储(更规范)

如果Total字段本身应该是数值,建议用N类型存储(DynamoDB中数值类型需以字符串形式写在N字段内):

"Total": { "N": (parseInt(event.First, 10) + parseInt(event.Second, 10)).toString() }

注意:parseInt一定要加第二个参数10指定十进制,避免非预期的进制解析问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 13:20:29