曾经遇到的两次的问题,关于前台接受后台传过来的float数据,一显示就是老长的小数点后缀,很烦人,后来想着用js把其进行四舍五入处理下,经网上查找,一哥们的代码如下:(很好用,感谢下!)

function format_number(srcNumber, n) {//n是要保留的位数
  var dstNumber = parseFloat(srcNumber);
  if (isNaN(dstNumber)) {
    return srcNumber;
  }
  if (dstNumber >= 0) {
    dstNumber = parseInt(dstNumber * Math.pow(10, n) + 0.5) / Math.pow(10, n);//关键点
  } else {
    var tmpDstNumber = -dstNumber; dstNumber = parseInt(tmpDstNumber * Math.pow(10, n) + 0.5) / Math.pow(10, n);
  }
  var dstStrNumber = dstNumber.toString();
  var dotIndex = dstStrNumber.indexOf('.');
  if (dotIndex < 0) {
    dotIndex = dstStrNumber.length; dstStrNumber += '.';
  }

  while (dstStrNumber.length <= dotIndex + n) {
    dstStrNumber += '0';
  }
  return dstStrNumber;
}

posted on 2013-08-27 16:52  开发攻城狮  阅读(1782)  评论(1)    收藏  举报