JavaScript保留N位小数的方法

来源:互联网 发布:linux 对外开放端口 编辑:程序博客网 时间:2024/05/21 12:49

gyyh.html

<!DOCTYPE html><html><head><script type="text/javascript" src="gyyh.js"></script><script language="javascript">sl_alert(FormatNumber(22220.44545,2));sl_alert(FormatNumber(22220.44545,3));sl_alert(FormatNumber(22220.44545,1));sl_alert(FormatNumber(22220.12345,2));</script></head><body><div></div></body></html>

gyyh.js

/***numbers:带小数的数值*keepDecimalPlaces:保留小数点位数*/function FormatNumber(numbers,keepDecimalPlaces){  var numbers,keepDecimalPlaces;  var resultStr,nTen;  numbers = ""+numbers+"";  strLen = numbers.length;  dotPos = numbers.indexOf(".",0);  if (dotPos == -1){    resultStr = numbers+".";    for (i=0;i<keepDecimalPlaces;i++){      resultStr = resultStr+"0";    }  }  else{    if ((strLen - dotPos - 1) >= keepDecimalPlaces){      nAfter = dotPos + keepDecimalPlaces + 1;      nTen =1;      for(j=0;j<keepDecimalPlaces;j++){        nTen = nTen*10;      }      resultStr = Math.round(parseFloat(numbers)*nTen)/nTen;    }    else{      resultStr = numbers;      for (i=0;i<(keepDecimalPlaces - strLen + dotPos + 1);i++){        resultStr = resultStr+"0";      }    }  } return resultStr;}/***重写alert方法*/function sl_alert(errinfo){    alert("系统提示:\n\n" + errinfo + "\n\n"); }