四舍五入函数封装最全版

export const fixedAndRound = function (num) {
  var str = String(num);
  var index = str.indexOf('.');
  if (index == -1) {
    var data = str + '.00';
    return data;
  } else {
    var left_one = str.charAt(index + 1);
    var left_two = str.charAt(index + 2);
    var left_three = str.charAt(index + 3);
    if (left_one == '') { // str=>52.
      return str + '.00'; // return=>52.00
    } else if (left_two == '') { // str=>52.2
      return str + '0'; // return=>52.20
    } else if (left_three == '') { // str=>52.22
      return str; // return=>52.22
    } else { // str=>52.456
      if (parseInt(left_three) >= 5) { // str=>52.456
        left_two = parseInt(left_two) + 1;
        if (parseInt(left_two) == 10) { // str=>52.496
          left_one = parseInt(left_one) + 1;
          left_two = 0;
          return str.substring(0, index + 1) + left_one + left_two; // return=>52.50
        } else { // str=>52.486
          return str.substring(0, index + 1) + left_one + left_two; // return=>52.49
        }
      } else { // str=>52.494
        return str.substring(0, index + 3); // str=>52.49
      }
    }
  }
}

 

posted @ 2019-05-05 15:22  Panax  阅读(175)  评论(0编辑  收藏  举报