Javascript 如何检查来自Postgres BIGINT的值是否大于Number.MAX\u SAFE\u INTEGER?
Javascript目前不支持Postgres中的BIGINT类型。许多人通过将BIGINT作为字符串解析出数据库来弥补这一缺陷。这是可以的,但我正在尝试提出一个实现,如果整数小于或等于Number.MAX\u SAFE\u integer,我将解析它,否则返回null 我怎样才能做到这一点 我正在使用 我有一个使用Number.isSafeInteger()的实现,但我不相信它在所有可能的值下都是准确的。我觉得我对“parseInt()”和“Number.isSafeInteger()”的理解不够,无法知道这是否可行 val作为类型字符串传递 最大安全整数如下所示Javascript 如何检查来自Postgres BIGINT的值是否大于Number.MAX\u SAFE\u INTEGER?,javascript,postgresql,bigint,node-postgres,Javascript,Postgresql,Bigint,Node Postgres,Javascript目前不支持Postgres中的BIGINT类型。许多人通过将BIGINT作为字符串解析出数据库来弥补这一缺陷。这是可以的,但我正在尝试提出一个实现,如果整数小于或等于Number.MAX\u SAFE\u integer,我将解析它,否则返回null 我怎样才能做到这一点 我正在使用 我有一个使用Number.isSafeInteger()的实现,但我不相信它在所有可能的值下都是准确的。我觉得我对“parseInt()”和“Number.isSafeInteger()”的理解
> Number.MAX_SAFE_INTEGER;
9007199254740991
以下内容似乎是准确的
> Number.isSafeInteger(parseInt('9007199254740993'));
false
这是目前的执行情况
types.setTypeParser(20, (val) => {
const intVal = parseInt(val);
if (Number.isSafeInteger(intVal)) return intVal;
return null;
});
你的代码应该能用,你的代码应该能用。