js格式化货币数据实现代码

复制代码 代码如下:

  function formatCurrency(num) {

  var sign="";

  if(isNaN(num))

  {

  num = 0;

  }

  if(num<0)

  {

  sign="-";

  }

  var strNum=num+"";

  var arr1 = strNum.split(".");

  var hasPoint=false;//是否有小数部分

  var piontPart="";//小数部分

  var intPart=strNum;//整数部分

  if(arr1.length>=2)

  {

  hasPoint=true;

  piontPart= arr1[1];

  intPart=arr1[0];

  }

  var res='';//保存添加逗号的部分

  var intPartlength=intPart.length;//整数部分长度

  var maxcount=Math.ceil(intPartlength/3);//整数部分需要添加几个逗号

  for (var i = 1; i <=maxcount;i++)//每三位添加一个逗号

  {

  var startIndex=intPartlength-i*3;//开始位置

  if(startIndex<0)//开始位置小于0时修正为0

  {

  startIndex=0;

  }

  var endIndex=intPartlength-i*3+3;//结束位置

  var part=intPart.substring(startIndex,endIndex)+",";

  res=part+res;

  }

  res=res.substr(0,res.length-1);//去掉最后一个逗号

  if(hasPoint)

  {

  return "¥"+sign+res+"."+piontPart;

  }

  else

  {

  return "¥"+sign+res;

  }

  }