二进制浮点数和四舍五入错误
实数有无数个,但JS通过浮点数的形式,只能表示有限个数,JS表现的常常是真实值的近似表示。
二进制无法表示类似于0.1这样的十进制数字,只能机器近似于0.1,看如下代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>3.1.4 二进制浮点数和四舍五入错误</title>
</head>
<body>
<h1>3.1.4 二进制浮点数和四舍五入错误</h1>
<script>
var x=.3-.2;
document.write("var x=.3-.2;<br>");
var y=.2-.1;
document.write("var y=.2-.1;<br>");
document.write("x,y:"+x+","+y+"<br>");
document.write("x==y:"+(x==y)+"<br>");
document.write("x==.1:"+(x==.1)+"<br>");
document.write("y==.1:"+(y==.1)+"<br>");
</script>
</body>
</html>
页面效果:
以上x,y值非常接近,计算结果胜任大多数的计算任务,只有比较两个值是否相等的时候才会出现。
标签:四舍五入,二进制,浮点数,JavaScript,write,var,document From: https://blog.csdn.net/qq_36324341/article/details/142438354