当我运行查询时PostgreSQL数据库上的node.js服务器,我得到的值是变量类型string事实上它是一个decimal在 postgresql 数据库中。
我不确定为什么我的小数甚至 bigInts 作为字符串类型返回。如果这有影响的话,我正在使用 knex 作为我的 ORM。到目前为止,我在网上读到的内容还不是很清楚该怎么做,而且似乎这会自动发生以保持精度???
对此最好的解决方法是什么?最好使用 parseFloat 将查询返回的字符串变量转换为十进制吗?
Both decimal
and bigint
类型可能包含太大而无法“适合”JavaScript 的值Number
:
-
Number.MAX_SAFE_INTEGER(JS): 9007199254740991
-
bigint: -9223372036854775808 至 9223372036854775807
-
decimal: 小数点前最多 131072 位;小数点后最多 16383 位
如果您非常确定数据库中的值适合Number
,您可以转换它们(我不知道 Knex,但也许它有某种挂钩系统,您可以使用它来转换从数据库检索的数据),或者更改数据库架构以包含“较小”的行类型。
另外,还有各种“大整数”您可能能够使用的 Node 包。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)