当前位置:K88软件开发文章中心编程语言AspAsp01 → 文章内容

使用函数FormatNumber格式化数字

减小字体 增大字体 作者:佚名  来源:翔宇亭IT乐园  发布时间:2019-1-3 0:44:38

:2010-04-01 13:58:00

ASP中的FormatNumber函数可以将一个数字格式化为你想要的形式,如有一个数字498.8573945,如何把它格式化成两位小数据呢?用过ASP的都知道,在VbScript里我们可以调用FormatNumber,即用FormatNumber(498.8573945,2)就可以输出:498.86。

由于javascript里没有这个函数,那么我们该如何实现呢?下面我就给出这个函数:

这个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;
    }
  }
}

上面编写的这个函数在不同的脚本环境下调用方式不尽相同,具体如下:

在HTML中:

<SCRIPT LANGUAGE=javascript SRC="FormatNumber.js"></SCRIPT>

在ASP中:

<!-- #include file="FormatNumber.js" -->

在PHP中:

<? include("FormatNumber.js") ?>

在JSP中:

<%@ #include file="FormatNumber.js" %>


使用函数FormatNumber格式化数字