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

所以我试图更新谷歌表格电子表格中的值,并且由于某种原因,当我使用该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 本身的问题?


拉莫斯之舞
浏览 78回答 3
3回答

茅侃侃

注意事项Google 电子表格目前不支持大整数。这是其数字格式的限制。可能的解决方法您可以使用 Apps 脚本自定义函数来处理字符串格式的大整数:由于 Apps 脚本可与 JavaScript 配合使用,您可以使用 BigInt() 构造函数将字符串解析为大整数。

catspeake

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

达令说

BigInt 还会将 6836735342561722374 等数字修改为 6836735342561722368。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python