我已经创建了一个基于node/express的api。我正在使用body-parser来解析我的请求。我的问题是我在请求体中得到一个大整数:
解析后我的整数变成:
我怎样才能绕过这个问题呢?
t40tm48m1#
它似乎是一个bug of body-parser,它将丢失大于53位的整数的几个数字75998243711877123的正确二进制表示为:100001110000000000000000000000000000000000000000000000011但是主体解析器丢失了尾部的2位11,您的值变为100001110000000000000000000000000000000000000000000000000即75998243711877120
75998243711877123
100001110000000000000000000000000000000000000000000000011
11
100001110000000000000000000000000000000000000000000000000
75998243711877120
jckbn6z72#
将bigInt作为字符串发送这实际上是JSON的一个问题。parse它不支持bigInt解析,所以这就是为什么最后一位被删除的原因尝试将大整数作为字符串发送
data = "75998243711877123"
2条答案
按热度按时间t40tm48m1#
它似乎是一个bug of body-parser,它将丢失大于53位的整数的几个数字
75998243711877123
的正确二进制表示为:100001110000000000000000000000000000000000000000000000011
但是主体解析器丢失了尾部的2位
11
,您的值变为100001110000000000000000000000000000000000000000000000000
即
75998243711877120
jckbn6z72#
将bigInt作为字符串发送这实际上是JSON的一个问题。parse它不支持bigInt解析,所以这就是为什么最后一位被删除的原因
尝试将大整数作为字符串发送