为了账号安全,请及时绑定邮箱和手机立即绑定

更新单元格值时,Google 电子表格 API 是否对数字进行四舍五入?

更新单元格值时,Google 电子表格 API 是否对数字进行四舍五入?

拉莫斯之舞 2023-12-29 17:01:38
所以我试图更新谷歌表格电子表格中的值,并且由于某种原因,当我使用该spreadsheets.values.update方法时,我尝试填写的值被四舍五入。例子sheet = service.spreadsheets()value = [[myfunction(), 10, 123]]body = {'values': value}result = sheet.values().update(spreadsheetId=SPREADSHEET_ID,                               range=RANGE_NAME,                               valueInputOption='RAW',                               body=body).execute()其中myfunction()返回一个整数。例如,使用的整数为1212650293435022848。该工作表确实已更新,但填写的值是[1212650293435023000, 10, 123]代替[1212650293435022848, 10, 123]这是我的代码的问题还是 API 本身的问题?
查看完整描述

3 回答

?
茅侃侃

TA贡献1842条经验 获得超21个赞

注意事项

Google 电子表格目前不支持大整数。这是其数字格式的限制。

可能的解决方法

您可以使用 Apps 脚本自定义函数来处理字符串格式的大整数:

由于 Apps 脚本可与 JavaScript 配合使用,您可以使用 BigInt() 构造函数将字符串解析为大整数。

查看完整回答
反对 回复 2023-12-29
?
catspeake

TA贡献1111条经验 获得超0个赞

最后,我做到了,在将整数发送到电子表格之前将其转换为字符串。这样就没有损失,而且我不必使用 BigInt()。



查看完整回答
反对 回复 2023-12-29
?
达令说

TA贡献1821条经验 获得超6个赞

BigInt 还会将 6836735342561722374 等数字修改为 6836735342561722368。



查看完整回答
反对 回复 2023-12-29
  • 3 回答
  • 0 关注
  • 68 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信