js做算术

ymwkxk 2013-12-27 10:33:30





让各位大神看看
...全文
194 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
wdbjsh 2013-12-27
  • 打赏
  • 举报
回复
基本上 浮点运算都会有相关的问题。。。 你可以查看一下Math 对象相关方法
张运领 2013-12-27
  • 打赏
  • 举报
回复
var a = 0.1,
    b = 0.2;
	c = a+b;
	console.log(c);
加分都会有精度问题的哦。。 c = 0.30000000000000004 所以千万不要去做相等的判断的。。。 比如你这个时候, if(c == 0.3)是返回false的。。。
ymwkxk 2013-12-27
  • 打赏
  • 举报
回复
乘法也有精度问题?
别闹腰不好 2013-12-27
  • 打赏
  • 举报
回复
js中的整除和java中double类型的整除一样,会有小数。
张运领 2013-12-27
  • 打赏
  • 举报
回复
Math对象中,有四舍五入的方法啊。 Math.round();四舍五入。 Math.ceil();进位。 Math.floor();退位。
ymwkxk 2013-12-27
  • 打赏
  • 举报
回复
那怎么解决这个事情啊
tony4geek 2013-12-27
  • 打赏
  • 举报
回复
js 计算会有精度的问题。
zhjdg 2013-12-27
  • 打赏
  • 举报
回复
有啥奇怪,随便在适当的位置取下值不就可以了。
sducaicai 2013-12-27
  • 打赏
  • 举报
回复
这是JavaScript浮点运算的一个bug 可以重写乘法函数,用来得到精确的乘法结果 function accMul(arg1,arg2) { var m=0,s1=arg1.toString(),s2=arg2.toString(),result=0; try{m+=s1.split(".")[1].length}catch(e){} try{m+=s2.split(".")[1].length}catch(e){} result=Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m); return result }

87,992

社区成员

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

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