vue.js input 输入实时转千分位 并默认补零
时间: 2024-02-06 12:09:31 浏览: 71
可以通过在 input 上绑定一个事件监听函数,在该函数中对输入的值进行处理,实时转化为千分位并补零。具体实现如下:
```html
<template>
<div>
<input type="text" v-model="inputValue" @input="handleInput">
</div>
</template>
<script>
export default {
data() {
return {
inputValue: ''
}
},
methods: {
handleInput() {
// 将输入的字符串转化为数字
let num = parseFloat(this.inputValue.replace(/,/g, ''))
// 如果输入的不是数字,则清空输入框
if (isNaN(num)) {
this.inputValue = ''
return
}
// 转化为千分位,并补零
this.inputValue = num.toFixed(2).replace(/\d{1,3}(?=(\d{3})+(\.\d*)?$)/g, '$&,')
}
}
}
</script>
```
在上面的代码中,我们首先通过 `v-model` 指令将输入框的值绑定到 `inputValue` 属性上。然后在 `@input` 事件中,我们将输入的字符串转化为数字,如果输入的不是数字,则清空输入框。接着,我们将数字转化为千分位,并补零,最后将处理后的值赋值给 `inputValue`,从而实现了实时转化为千分位并补零的效果。
阅读全文