gpt4 book ai didi

javascript - Nodejs Sequelize 的 FindOne() 模型包含四舍五入或 chop 的值

转载 作者:行者123 更新时间:2023-12-03 22:21:09 24 4
gpt4 key购买 nike

我正在运行以下代码,其中标签连接到我在本地设置的 sqlite 数据库。目前我有以下代码尝试从数据库中提取数据,作为测试。

console.log('debug after here.');

const tag = await Tags.findOne({ where: { guild: message.guild.id, channel: message.channel.id } });

console.log(' in guild: ' + message.guild.id);
console.log('out guild: ' + tag.guild);
console.log(' in chanl: ' + message.channel.id);
console.log('out chanl: ' + tag.channel);
console.log('out lpmID: ' + tag.latestPollMessageId);
结果如下。
debug after here.
in guild: 228902712417189890
out guild: 228902712417189900
in chanl: 634445907059933195
out chanl: 634445907059933200
out lpmID: 754129896791474200
如您所见,输入公会和输入 channel 值与返回的公会和 channel 值不匹配。我查看了实际的 .sqlite 文件并看到了以下内容:
database values
如您所见,这些值并不代表我在运行 .findOne() 时实际得到的值,但我不知道为什么会这样。看起来它通常被四舍五入到最接近的一百,但我看到一些结果在我的测试中向下而不是向上四舍五入。

最佳答案

在 JavaScript 中,您最多只能将 53 位存储为一个数字。这意味着您可以以安全整数格式存储的最大数字是 9007199254740991。(请参阅 Number.MAX_SAFE_INTEGER)。
在模型定义中使用 id 作为字符串或数据类型作为 bigint
我建议你阅读这篇 What is JavaScript's highest integer value that a number can go to without losing precision?

关于javascript - Nodejs Sequelize 的 FindOne() 模型包含四舍五入或 chop 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63857097/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com