在3里面输入一个1就会出现
total=55.522999999999996
total=55.522999999999996
解决方案 »
- 如何让别人访问我建立好的网页-----请高手们指点
- 如何把鼠标移动到div附近的文字,就显示该div
- IE8上传图片无法预览问题~~
- iframe刷新时曾在iframe中替父页面添加的元素的事件会丢失!
- JS问题,也许很简单!进来看看。
- 怎么避免刷新调用onunload?
- 大讨论(见者有分):xsl有没有成为行业标准,以及xsl前途如何???迷茫中,请解惑(顺便问一个问题)xsl中的<xsl:for-each>语句有没有索引,也就是
- 请教个正则写法
- 为什么这个代码运行不出随意点击页面可以弹出窗口?
- js方法没有执行,而是像body内容一样写在了页面上。这是怎么个情况
- 在javascript里点击右上角的"X"是什么事件?
- 好急啊,一个javascript问题,在线等,解决给分
function Number.prototype.toFixed(dot) {
with(Math){
var m=pow(10,Number(dot))
var s = (round(this*m)/m).toString();
}
if(s.indexOf('.') < 0)
s += ".";
s += "000000000000";
return s.substr(0,s.indexOf('.')+dot+1);
}
//说明: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);
}
String.prototype.fn = function(n)
{ s=""
for(i=0;i<n;i++)s+=this
return s
}
Number.prototype.fix = function(num)
{with(Math)return (round(this.valueOf()*pow(10,num))/pow(10,num)).toString().search(/\./i)==-1?(round(this.valueOf()*pow(10,num))/pow(10,num)).toString()+"."+"0".fn(num):(round(this.valueOf()*pow(10,num))/pow(10,num));
}
alert((5.31-1.31).fix(2));
</script>
上边的代码返回任意数的保留n位小数值,为了考虑货币的效果(xx.xx)形势,所以长了一点儿,因为4.00的格式是不能显示的(以数字方式),如果不用顾及那个用下边的就行
<script>
Number.prototype.fix = function(num)
{with(Math)return round(this.valueOf()*pow(10,num))/pow(10,num);
}
alert((5.31-1.31).fix(2));
</script>