js小数四舍五入保留n位小数

代码如下:

function fourFiveFloat (number, n) {
    if (number === 'null' || number === null || isNaN(number)) {
      number = '-'
      return number
    } else {
      let res = Math.round(number * Math.pow(10, n)) / Math.pow(10, n)
      if (res.toString().indexOf('.') === -1) {
        let num0
        if (n === 0) {
          num0 = ''
        } else {
          num0 = '.'
        }
        for (let i = 0; i < n; i++) {
          num0 += '0'
        }
        res += num0
        return res.toString()
      } else {
        let index = res.toString().indexOf('.')
        let xiaoshuwei = res.toString().substr(index + 1, res.toString().length)
        if (xiaoshuwei.toString().length < n) {
          for (let i = 0; i < n - xiaoshuwei.toString().length; i++) {
            res += '0'
          }
        }
        return res.toString()
      }
    }
  }

其中,函数fourFiveFloat的两个参数值number、n分别是要进行四舍五入的小数和保留n位小数。

例如,现在要将小数56.983525进行四舍五入并保留3位小数。那么直接调用fourFiveFloat(56.983525, 3),返回的及时56.983525四舍五入并保留3位小数后的值。

var val
val = fourFiveFloat(56.983525, 3)
console.log(val)

打印台输出:

猜你喜欢

转载自blog.csdn.net/u011295864/article/details/84788431
今日推荐