JS浮点数相减出现异常数

发布时间:2020-07-12 03:27:01 作者:ssc2013
来源:网络 阅读:465

今天小编出现一种情况在js中用0.3-0.2得出来的却不是0.1而是0.09999999999999999999998,很是纳闷,查看了很多资料才发现原来是如下原因导致的:


"浮点数”不是“实数”,浮点数有最大表示范围,在表示范围内用最接近实数的浮点数可以表示数来表示,比如 

0.1是实数,意味着0.10000000…… 都是0.1,而double无法精确表示0.1,但它能精确表示 +0.1000000000000000055511151231257827021181583404541015625 ,所以它用 +0.1000000000000000055511151231257827021181583404541015625 来表示 0.1,同样: 
0.1 <--> 0.1000000000000000055511151231257827021181583404541015625 
0.2 <--> 0.200000000000000011102230246251565404236316680908203125 
0.3 <--> 0.299999999999999988897769753748434595763683319091796875

当你用浮点数来计算时,结果也是浮点数.计算机无法精确表示的,于是它用最接近的值来表示


推荐阅读:
  1. JS如何求解两数之和
  2. 使用JavaScript怎么实现数组相减操作

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

js j

上一篇:Request.Form与Request.QueryString使用

下一篇:Centos6下git的安装

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》