相关疑难解决方法(0)

大量错误地在JavaScript中舍入

看到这段代码:

<html>
  <head> 
    <script src="http://www.json.org/json2.js" type="text/javascript"></script>
    <script type="text/javascript">

      var jsonString = '{"id":714341252076979033,"type":"FUZZY"}';
      var jsonParsed = JSON.parse(jsonString);
      console.log(jsonString, jsonParsed);

    </script>
  </head>
  <body>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

当我在Firefox 3.5中看到我的控制台时,jsonParsed的值是:

Object id=714341252076979100 type=FUZZY
Run Code Online (Sandbox Code Playgroud)

即数字四舍五入.尝试了不同的值,相同的结果(数字舍入).

我也没有得到它的舍入规则.714341252076979136舍入为714341252076979200,而714341252076979135舍入为714341252076979100.

编辑:请参阅下面的第一条评论.显然这不是关于JSON,而是关于JavaScript数字处理的东西.但问题仍然存在:

为什么会这样?

javascript floating-point floating-accuracy ieee-754

55
推荐指数
4
解决办法
3万
查看次数

JavaScript如何确定格式化浮点值时生成的位数?

在JavaScript中,每个人都知道着名的计算:0.1 + 0.2 = 0.30000000000000004.但是为什么JavaScript打印这个值而不是打印更准确和精确0.300000000000000044408920985006

javascript floating-point precision

1
推荐指数
1
解决办法
168
查看次数