2017-08-08 69 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) 
相關問題