ms_dos

  博客园  :: 首页  :: 新随笔  ::  :: 订阅 订阅  :: 管理

js中可以使用Math.round实现整数的四舍五入,如果需要实现精确到小数点多少位则需要编写自定义函数。

方法一:

function round(v,e)
{
var t=1;
for(;e>0;t*=10,e--);
for(;e<0;t/=10,e++);
return Math.round(v*t)/t;
}

参数里的: v表示要转换的值 e表示要保留的位数

注意:如果使用用户控件,该js不能写在ascx文件内,应该写在使用该用户控件的aspx文件内。


方法二:

function FormatNumber(srcStr,nAfterDot){
var srcStr,nAfterDot;
var resultStr,nTen;
srcStr = ""+srcStr+"";
strLen = srcStr.length;
dotPos = srcStr.indexOf(".",0);
if (dotPos == -1){
resultStr = srcStr+".";
for (i=0;i<nAfterDot;i++){
resultStr = resultStr+"0";
}
}
else{
if ((strLen - dotPos - 1) >= nAfterDot){
nAfter = dotPos + nAfterDot + 1;
nTen =1;
for(j=0;j<nAfterDot;j++){
nTen = nTen*10;
}
resultStr = Math.round(parseFloat(srcStr)*nTen)/nTen;
}
else{
resultStr = srcStr;
for (i=0;i<(nAfterDot - strLen + dotPos + 1);i++){
resultStr = resultStr+"0";
}
}
}

return resultStr;
}

posted on 2010-08-27 22:55  ms_dos  阅读(2126)  评论(0编辑  收藏  举报