Angular / Javascript '舍入'长值
Angular / Javascript 'rounding' long values?
我有以下JSON:
[{"hashcode": 4830991188237466859},{...}]
我有以下的Angular/JS代码:
var res = $resource('<something>');
...
res.query({}, function(json) {hashcode = json[0].hashcode;};
...
令人惊讶的是(对我来说,我不是JS专家),我发现某些东西(?)正在将值四舍五入到1000的精度(四舍五入最后3位数字)。这是一个问题,因为这是某个东西的哈希码。
另一方面,如果我将值作为字符串写入JSON,例如-
[{"hashcode": "4830991188237466859"},{...}]
这不会发生。但这对我造成了一个不同的问题(使用JMeter/JSON路径,通过运行我的查询$.hashcode
提取值["4830991188237466859")-我不能用作HTTP请求参数(我需要将?hashcode=...
添加到查询中,但我最终使用?hashcode=["..."]
所以我感谢你的帮助:
- 了解谁和为什么-是舍入我的散列,以及如何避免它
- JMeter/JSON路径帮助
谢谢!
-
每个系统架构都有一个它可以表示的最大数量。参见
Number.MAX_VALUE
或将您的号码粘贴到控制台。你会看到它发生在JavaScript级别,与angular无关。因为哈希值并不表示某物的数量,所以它是一个字符串是很自然的。这让我想到 -
site.com/page?hashcode=4830991188237466859
没有问题-它在那里被视为字符串,你应该继续这样对待它。
javascript Number类型是基于浮点数的,并且只能表示范围在-253和253之间的所有整数。因此,在此范围之外的一些整数将根据您的经验进行"舍入"。
关于JMeter JSON路径提取器插件,正确的JSON路径查询您的hashcode
将看起来像
$..hashcode[0]
有关XPath到JSON的路径映射和更多细节,请参阅指南中的解析JSON章节。
相关文章:
- 浮点0.2+0.1舍入误差
- 求和值时出现Javascript舍入问题
- 十进制值会自动舍入
- 如何舍入对象数组中的某些值
- 如何处理下拉列表的十进制值而不舍入或修剪零
- Javascript 舍入十进制值,如果十进制值大于或等于 25,则四舍五入值加一个其他明智值保持原样
- 如何防止值舍入为零 javascript
- 舍入时间间隔最长为 15 分钟步长
- 如何使用 Math.ceil() 对我的值进行舍入
- 获取 2 个输入字段中的舍入值,当其中一个输入字段更新时,这些输入字段会更新
- 如何使用javascript对图形中的浮点值进行舍入
- 如何使javascript舍入对值中的位数敏感
- 在控制台中返回未定义的数组值/将数组元素舍入为整数
- 淘汰赛中的十进制值舍入问题
- 如何避免在客户端对长值进行舍入
- 对图表上显示的值进行舍入
- 使用javascript Round方法将值从1.035舍入为1.04
- 如何在jquery中使用舍入值
- 舍入值并将其放入另一个元素中
- Angular / Javascript '舍入'长值