<el-input-number v-model=“num” :precision=“2”></el-input-number>小数点后超过两位依旧可以输入
时间: 2024-06-13 18:03:49 浏览: 202
JS控制只能输入数字并且最多允许小数点两位
<el-input-number v-model="num" :precision="2"></el-input-number>中的precision属性指定了小数点后保留的位数为两位,如果输入的数字小数点后超过两位,仍然可以输入,但是显示的数字会被自动截断为两位小数。如果你想限制用户只能输入小数点后两位以内的数字,可以使用正则表达式进行限制。例如,可以在输入框的@input事件中使用正则表达式过滤掉非法字符,代码如下:
```
<el-input v-model="inputTable.amount" @input="formatNum(form.amount, 'amount')"></el-input>
// 在methods中定义formatNum方法
formatNum(val, key) {
// 过滤非法字符
val = val.replace(/[^\d.]/g, '');
// 限制小数点后两位
val = val.replace(/^\d+\.\d{0,2}/g, (match) => match.slice(0, match.indexOf('.') + 3));
// 更新数据
this.inputTable[key] = val;
}
```
阅读全文