js 中执行 19.9*10*10 == 19.9*100,问结果是 true 还是 false

 我来答
进击的草根
2016-03-22 · 高级程序员
进击的草根
高级程序员
采纳数:239 获赞数:512
互联网创业者,php程序员,国子派创始人。

向TA提问 私信TA
展开全部
这个是js处理小数的乘除法的时候有一个bug,前面的 19.9*10*10 的结果并不是预期的1990,所以是false,一般都会先转换成整数在处理
莫离相伴44
2016-03-22 · 超过15用户采纳过TA的回答
知道答主
回答量:40
采纳率:0%
帮助的人:31.9万
展开全部
false,第一个得到的答案是1990,第二个是1989.9999999999998。
原因是浮点数的精度问题。你的电脑做着正确的二进制浮点运算,但问题是你输入的是十进制的数,电脑以二进制运算,这两者并不是总是转化那么好的,有时候会得到正确的结果,但有时候就不那么幸运了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2016-03-22
展开全部
f a l s e
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式