javascript 加法问题

sujiali 2008-02-22 08:35:38
有个问题大家看看

a=1.01
m=0.368
m=a+m
document.write(m)

这个算法的结果不是1.378,而是一长串数字,为什么呢?
...全文
278 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
sujiali 2008-02-22
  • 打赏
  • 举报
回复
搞明白了,就是javascript浮点计算的bug,好像没有太好的解决方法,只能是编个函数调用啦

http://bbs.kdv.cn/viewthread.php?tid=138&extra=page%3D1
aCatInNight 2008-02-22
  • 打赏
  • 举报
回复
document.write((parseFloat(m)).toFixed(2));看行不行
cloudgamer 2008-02-22
  • 打赏
  • 举报
回复
因为js计算时用的是二进制
十进制看来有限的小数到了二进制会编程无线小数
mrshelly 2008-02-22
  • 打赏
  • 举报
回复
任意语言的浮点计算,都基本上会有这类问题.

你取到你想要的位数就行了..
liuhongxing1908901 2008-02-22
  • 打赏
  • 举报
回复
楼上:这个不能算bug。是计算机基于二进制体系的“原罪”。

87,993

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧