[ 讨论 ] 不知道是谁的问题,认为自己算数还行的进来看看吧. to:yzwxjun(蝼蚁飞舞)这样说话不好to:楼主我也遇到过这样的问题,后来还是自己写的函数转换了一下可能是js中double的问题 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 运算精度问题alert((0.9+0.3).toLocaleString()); js中确实存在这样的精度问题解决办法如下:<script>function add(n1,n2){var r1,r2,m;try{r1=n1.toString().split(".")[1].length}catch(e){r1=0}try{r2=n2.toString().split(".")[1].length}catch(e){r2=0}m=Math.pow(10,Math.max(r1,r2))return (n1*m+n2*m)/m}</script><input id=f1><input id=f2><input type=button value=add onclick="alert(add(f1.value,f2.value))"> alert((1.9+0.3).toLocaleString());你的是1.9啊 转csdn兄弟们的://除法函数,用来得到精确的除法结果//说明:javascript的除法结果会有误差,在两个浮点数相除的时候会比较明显。这个函数返回较为精确的除法结果。//调用:accDiv(arg1,arg2)//返回值:arg1除以arg2的精确结果function accDiv(arg1,arg2){ var t1=0,t2=0,r1,r2; try{t1=arg1.toString().split(".")[1].length}catch(e){} try{t2=arg2.toString().split(".")[1].length}catch(e){} with(Math){ r1=Number(arg1.toString().replace(".","")) r2=Number(arg2.toString().replace(".","")) return (r1/r2)*pow(10,t2-t1); }}//给Number类型增加一个div方法,调用起来更加方便。Number.prototype.div = function (arg){ return accDiv(this, arg);}//乘法函数,用来得到精确的乘法结果//说明:javascript的乘法结果会有误差,在两个浮点数相乘的时候会比较明显。这个函数返回较为精确的乘法结果。//调用:accMul(arg1,arg2)//返回值:arg1乘以arg2的精确结果function accMul(arg1,arg2){ arg1=String(arg1);var i=arg1.length-arg1.indexOf(".")-1;i=(i>=arg1.length)?0:i arg2=String(arg2);var j=arg2.length-arg2.indexOf(".")-1;j=(j>=arg2.length)?0:j return arg1.replace(".","")*arg2.replace(".","")/Math.pow(10,i+j)}//给Number类型增加一个mul方法,调用起来更加方便。Number.prototype.mul = function (arg){ return accMul(arg, this);}//加法函数,用来得到精确的加法结果//说明:javascript的加法结果会有误差,在两个浮点数相加的时候会比较明显。这个函数返回较为精确的加法结果。//调用:accAdd(arg1,arg2)//返回值:arg1加上arg2的精确结果function accAdd(arg1,arg2){ var r1,r2,m; try{r1=arg1.toString().split(".")[1].length}catch(e){r1=0} try{r2=arg2.toString().split(".")[1].length}catch(e){r2=0} m=Math.pow(10,Math.max(r1,r2)) return (arg1*m+arg2*m)/m}//给Number类型增加一个add方法,调用起来更加方便。Number.prototype.add = function (arg){ return accAdd(arg,this);} 这段代码对表格内容排序 为啥没效果 dwr调用返回值的问题 请教一个JavaScript导出Excel的问题。 [分享]可以接收返回值的多级联动下拉列表 JS抓取网页title、keywords求助。 关于 IE:Download 的用法 动态改css的问题,在线等待,向各位大侠学习呀! 一个jq点击隐藏显示的问题! html加载顺序 一个变幻图形的游戏小程序,谁能知道错在哪里吗? 大家看看这个树好不好! 终于得到一颗星了!散分我高兴呀!
function add(n1,n2){
var r1,r2,m;
try{r1=n1.toString().split(".")[1].length}catch(e){r1=0}
try{r2=n2.toString().split(".")[1].length}catch(e){r2=0}
m=Math.pow(10,Math.max(r1,r2))
return (n1*m+n2*m)/m
}
</script>
<input id=f1><input id=f2>
<input type=button value=add onclick="alert(add(f1.value,f2.value))">
//除法函数,用来得到精确的除法结果
//说明:javascript的除法结果会有误差,在两个浮点数相除的时候会比较明显。这个函数返回较为精确的除法结果。
//调用:accDiv(arg1,arg2)
//返回值:arg1除以arg2的精确结果
function accDiv(arg1,arg2){
var t1=0,t2=0,r1,r2;
try{t1=arg1.toString().split(".")[1].length}catch(e){}
try{t2=arg2.toString().split(".")[1].length}catch(e){}
with(Math){
r1=Number(arg1.toString().replace(".",""))
r2=Number(arg2.toString().replace(".",""))
return (r1/r2)*pow(10,t2-t1);
}
}//给Number类型增加一个div方法,调用起来更加方便。
Number.prototype.div = function (arg){
return accDiv(this, arg);
}//乘法函数,用来得到精确的乘法结果
//说明:javascript的乘法结果会有误差,在两个浮点数相乘的时候会比较明显。这个函数返回较为精确的乘法结果。
//调用:accMul(arg1,arg2)
//返回值:arg1乘以arg2的精确结果
function accMul(arg1,arg2)
{
arg1=String(arg1);var i=arg1.length-arg1.indexOf(".")-1;i=(i>=arg1.length)?0:i
arg2=String(arg2);var j=arg2.length-arg2.indexOf(".")-1;j=(j>=arg2.length)?0:j
return arg1.replace(".","")*arg2.replace(".","")/Math.pow(10,i+j)
}//给Number类型增加一个mul方法,调用起来更加方便。
Number.prototype.mul = function (arg){
return accMul(arg, this);
}//加法函数,用来得到精确的加法结果
//说明:javascript的加法结果会有误差,在两个浮点数相加的时候会比较明显。这个函数返回较为精确的加法结果。
//调用:accAdd(arg1,arg2)
//返回值:arg1加上arg2的精确结果
function accAdd(arg1,arg2){
var r1,r2,m;
try{r1=arg1.toString().split(".")[1].length}catch(e){r1=0}
try{r2=arg2.toString().split(".")[1].length}catch(e){r2=0}
m=Math.pow(10,Math.max(r1,r2))
return (arg1*m+arg2*m)/m
}//给Number类型增加一个add方法,调用起来更加方便。
Number.prototype.add = function (arg){
return accAdd(arg,this);
}