2017-08-08 29 views
1

我有一个表列knex postgres的返回字符串数字/十进制值

table.decimal('some_column', 30,15)其上postgres的是numeric(30,15)

当运行从节点a knex.raw('select some_column from some_table'),我行得到的响应是这样的:

some_column: "5.000000000000000" 
some_column: "10.000000000000000" 

真正向我指出这是我做这样的事情firstValue> lastValue我结束了一个真正的响应,以便让我觉得,这些都是作为字符串而不是作为数字返回。

任何方式来覆盖此行为?

+0

的解析。如果你要转换成十进制数字符串 - > JavaScript的数字你必须特别小心舍入错误。如果您的应用程序确实需要使用小数计算并保持值不舍入错误,我会建议使用像'decimal.js'或'big.js'这样的库。 –

回答

1

您可以在pg-types模块,用于通过pg模块,用于通过knex看看,并配置varialbes

var types = require('pg').types 
types.setTypeParser(<I DONT REMEMBER VAR NAME, NEED TO CHECK>, value => value === null ? null : +value) 
相关问题