如果有一個數字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;
}
}
}