js实现小数点后保留N位并可以四舍五入——js对float数据的处理

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 @ 2013-08-28 17:10  寻找幸福的起点  阅读(367)  评论(0编辑  收藏  举报