JavaScript 计算问题 365 * 1.8 为什么不等于 657?
JavaScript中 为什么会出现这个情况
365 * 1.8 = 640.8000000000001
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
JavaScript中 为什么会出现这个情况
365 * 1.8 = 640.8000000000001
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(9)
在chrome的控制台没这个问题
非常感谢 【阿尔法兽,pistol gao】的回答
这个问题太水了
要在细心一点
找到问题的 原因了
关键计算的代码写错了 365 写成 356
有的对 有的写错了 看着效果就是 时对时错
没太明白
在我写的函数外面就没事
在我写的自定义函数里面就不太对
貌似我知道,就是一位小数的话用2进制表示,0.5=2 (-1),但是有些小数,不能精确地用2进制表示,比如0.7,当用这些小数计算的话,就是会出现这种情况,大致如此
http://www.oschina.net/code/snippet_870790_22072
这是代码地址
不知道哪里出了问题
这个算法得出的结果 和Java的不能一致
一会儿我把 原码发布一下
正常不会出现,可是我的函数里就不行
可以自己试试看
因为你眼花了,就这么简单