小编atl*_*vis的帖子

- = 0.1奇怪的结果

可能重复:
在.NET中双重乘法断开?

JavaScript代码:

var n = 1; 
while ( n > 0 )
{
  n -= 0.1;
  document.body.innerHTML += n + "<br/>";
}
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/UpUE6/4/

我期望:

0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
Run Code Online (Sandbox Code Playgroud)

但得到了这个:

0.9
0.8
0.7000000000000001
0.6000000000000001
0.5000000000000001
0.40000000000000013
0.30000000000000016
0.20000000000000015
0.10000000000000014
1.3877787807814457e-16
-0.09999999999999987
Run Code Online (Sandbox Code Playgroud)

谁能解释那里发生了什么?

javascript floating-point

8
推荐指数
3
解决办法
2523
查看次数

标签 统计

floating-point ×1

javascript ×1