Node.js express cassandra正在将长值转换为负值
我正在使用Node.js express cassandra正在将长值转换为负值,node.js,cassandra,express-cassandra,Node.js,Cassandra,Express Cassandra,我正在使用express cassandranpm包连接到数据库,下面的代码在将Long值转换为Integer时给出负值 var num = 13315766168394088000; 结果是:- var valueFromInt = models.datatypes.Long.fromInt(num); =>长:-1152696320 =>长:-5130977905315463616 我不明白为什么这是巨大的差异,为什么返回负值。133157661683940088000大于(2^53),
express cassandra
npm包连接到数据库,下面的代码在将Long
值转换为Integer
时给出负值
var num = 13315766168394088000;
结果是:-
var valueFromInt = models.datatypes.Long.fromInt(num);
=>长:-1152696320
=>长:-5130977905315463616
我不明白为什么这是巨大的差异,为什么返回负值。
133157661683940088000
大于(2^53),所以不应该用数字(64位IEEE-754双精度)表示它,也不应该使用Long.fromInt()
您可以使用该值的位或十进制字符串表示形式:
const longValue = Long.fromString('13315766168394088000');
1331576168394088000
大于(2^53),因此不应使用数字(64位IEEE-754双精度)表示它,也不应使用Long.fromInt()
您可以使用该值的位或十进制字符串表示形式:
const longValue = Long.fromString('13315766168394088000');
谢谢,我在做研究的时候发现了同样的东西。谢谢,我在做研究的时候发现了同样的东西。