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

无法将535.5357055664062插入Google Cloud Spanner的JSON字段

Google Cloud Spanner JSON字段浮点数插入错误说明

根因

Google Cloud Spanner的JSON字段解析逻辑遵循RFC 8259的互操作性要求,仅支持最多15位十进制有效数字的浮点数值,超出该精度的浮点数会被判定为非法JSON值,抛出参数错误。而Spanner原生FLOAT64字段没有该限制,因此符合FLOAT64标准的数值不一定能直接存入JSON字段。

报错示例

{
  "error": {
    "code": 400,
    "message": "Invalid value for bind parameter json: Expected JSON.",
    "status":"INVALID_ARGUMENT"
  }
}

精度验证规则

  • 无效浮点数(16位有效数字,触发报错):535.5357055664062
  • 有效浮点数(15位有效数字):535.535705566406
  • 有效浮点数(总有效数字未超15位):103.3588679387016812112421411

解决方案

  • 对非高精度要求的浮点数值,插入前做四舍五入或截断处理,保留不超过15位有效数字
  • 需保留完整原始精度的场景,将浮点数转为字符串类型后存入JSON字段,读取时自行转换回数值
  • 仅需要存储单值的场景,直接使用FLOAT64类型字段存储该数值,不受JSON精度规则限制

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 22:15:02