Postgresql 中的十进制值在 Node.js 中作为字符串返回

Decimal value in Postgresql returned as String in Node.js

当我 运行 在 node.js 服务器上查询我的 postgresql 数据库时,值我得到的是变量类型 string 而实际上它是 decimal 在 postgresql 数据库中。

我不确定为什么我的 decimals 甚至 bigInts 作为类型字符串返回。如果这有所作为,我将使用 knex 作为我的 ORM。到目前为止,我在网上阅读的内容并不是很清楚该怎么做,而且似乎这是自动发生以保持精度???

最好的解决方法是什么?最好使用 parseFloat 将我从查询返回的字符串变量转换为小数吗?

decimalbigint 类型可能包含的值太大而无法在 JavaScript 的 Number 中 "fit":

如果您非常确定数据库中的值适合 Number,您可以转换它们(我不知道 Knex,但也许它有某种挂钩系统,您可以用于转换从数据库中检索到的数据),或更改数据库架构以包含 "smaller" 行类型。

或者,您也可以使用各种 "big integer" Node 包。