Vue el-input 保留两位小数

网上一搜,一片一片的资料,可是有效的往往很少,可能是因为自己没搞懂吧

el-input




...

* methods *

  checkValue(){
    var value = '' + this.modelValue.toString();
    value = value
        .replace(/[^\d.]/g, '') // 清除“数字”和“.”以外的字符
        .replace(/\.{2,}/g, '.') // 只保留第一个. 清除多余的
        .replace(/^\./g, '')    //保证第一个为数字而不是.
        .replace('.', '$#$')
        .replace(/\./g, '')
        .replace('$#$', '.')
        .replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3'); // 只能输入两个小数
    if (value.indexOf('.') < 0 && value != '') {
        // 以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02的金额
        value = parseFloat(value);
    }
    this.modelValue = value;
}

你可能感兴趣的:(Vue el-input 保留两位小数)