为什么console.log(10150141932135203)在Firefox和Chrome中打印10150141932135204,以及如何处理这些大整数值?
我试图找出为什么我们在Facebook上的客户之一有问题,我追溯到10150141932135203变成10150141932135204给我们意想不到的结果。
$ node > 10150141932135203 10150141932135204 > 10150141932135204 10150141932135204 > 10150141932135205 10150141932135204 > 10150141932135206 10150141932135206 > 10150141932135207 10150141932135208 > 10150141932135208 10150141932135208 > 10150141932135209 10150141932135208 > 10150141932135210 10150141932135210
我怎样才能处理这个大小的整数?
如果数字大于IEEE 754规范允许的数字(2 53 ),则会像示例所示的那样失去精度。
您可以使用JavaScript的二进制编码十进制库,例如BCMathJs 。
这当然只适用于需要对数字进行算术运算的情况。 如果不是,请将它们保持为string。
- 将node.jsembedded到Firefox扩展中并在浏览器中运行服务器
- 为什么在{{} + 1`在Chrome和Firefox中获得数字1,而在Node.js中使用' 1'?
- 客户端websocket限制消息长度
- 为什么Firefox在由我的nodejs服务器提供服务时不会从html中加载javascript refed?
- 从浏览器插件/扩展中控制Arduino设备
- Socket.IO不能在Windows和Chrome上运行
- 当出现Javascript错误时,Socket.IO会断开并阻止debugging
- 在Chrome和Firefox上,Socket.io无法向Node服务器发送消息
- 在收到指定内容范围的206后,Firefox不会请求更多的数据