格式化数字函数FormatNumber
2002-07-22 10:23:57 来源:WEB开发网核心提示:如果有一个数字498.8573945,如何把它格式化成两位小数据呢?用过asp的都知道,在VbScript里我们可以调用FormatNumber,即用FormatNumber(498.8573945,2)就可以输出:498.86,由于javaScript里没有这个函数,格式化数字函数FormatNumber,那么我们该
如果有一个数字498.8573945,如何把它格式化成两位小数据呢?用过asp的都知道,在VbScript里我们可以调用FormatNumber,即用FormatNumber(498.8573945,2)就可以输出:498.86。
由于javaScript里没有这个函数,那么我们该如何实现呢?下面我就给出这个函数,大家可以把:<SCRIPT LANGUAGE=Javascript SRC="FormatNumber.js"></SCRIPT> 这一句加入你的HTML页即可,也可以用
<!-- #include file="FormatNumber.js" --> 加入你的ASP页;或用
<? include("FormatNumber.js") ?> 加入php页中;或用
<%@ #include file="FormatNumber.js" %> 加入jsp页。
这个FormatNumber子函数如下:
<SCRIPT LANGUAGE=javascript>
<!--
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";
}
return resultStr;
}
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;
return resultStr;
}
else{
resultStr = srcStr;
for (i=0;i<(nAfterDot - strLen + dotPos + 1);i++){
resultStr = resultStr+"0";
}
return resultStr;
}
}
}
由于javaScript里没有这个函数,那么我们该如何实现呢?下面我就给出这个函数,大家可以把:<SCRIPT LANGUAGE=Javascript SRC="FormatNumber.js"></SCRIPT> 这一句加入你的HTML页即可,也可以用
<!-- #include file="FormatNumber.js" --> 加入你的ASP页;或用
<? include("FormatNumber.js") ?> 加入php页中;或用
<%@ #include file="FormatNumber.js" %> 加入jsp页。
这个FormatNumber子函数如下:
<SCRIPT LANGUAGE=javascript>
<!--
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";
}
return resultStr;
}
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;
return resultStr;
}
else{
resultStr = srcStr;
for (i=0;i<(nAfterDot - strLen + dotPos + 1);i++){
resultStr = resultStr+"0";
}
return resultStr;
}
}
}
更多精彩
赞助商链接