toLocaleString——实现保留几位小数功能——基础积累

今天看到同事写的金额字段,需要保留几位小数。

1.toFixed是有问题的——整数通过toFixed也会有小数存在

一般情况下,我都是会用'111'.toFixed(2)来保留2位小数。
在这里插入图片描述

2.自己封装的函数处理——能实现功能

priceBlur(e) {
    
    
    var val = e.target.value;
    if (val) {
    
    
        var index = val.indexOf('.');
        if (index > -1) {
    
    
            var arr = val.split('.');
            var num = arr[1];
            if (num.length > 6) {
    
    
                return arr[0] + '.' + num.substr(0, 6);
            } else {
    
    
                return val;
            }
        } else {
    
    
            return val;
        }
    }
},

这个是我之前自己封装的一个函数。是保留6位的,这个位数可以更改。
在这里插入图片描述

3.通过toLocaleString方法来处理

Vue.filter('money', function (value, decimal = 2) {
    
    
  if (!value) {
    
    
    return 0;
  }
  const options = {
    
    
    style: 'currency',
    currency: 'CNY',
    minimumFractionDigits: decimal
  }
  return value.toLocaleString('zh-CN', options)
})

控制台测试:
在这里插入图片描述
综上所述:方法2和方法3结果是一样的,但是优先采取方法3,这个是toLocaleString的用法。

完成!!!

猜你喜欢

转载自blog.csdn.net/yehaocheng520/article/details/124868096