场景用于支付时,输入金额,限制只能输入非负数,保留2位小数,且不四舍五入
如果你的input不是number类型需要先处理一下number类型
以下举例环境 vue3 + vant-ui
请自行根据实际场景使用
html
<van-field v-model="amountIptUse" @input="amountInput(amountIptUse, 'amountIptUse')" type="number" :maxlength="10" autocomplete="off" clearable/>
js
const amountInput = (value, key) => {
// 排除空的情况
if (value.length === 0) return;
// 限制负数
if (value.indexOf('-') !== -1) {
params[key] = '';
}
// 去除首个.
if (value.length > 1 && ['.'].includes(value.substr(0, 1))) {
// console.log('==match:', value);
params[key] = value.substr(1);
}
// 保留2位不四舍五入
if (value.length > 4 && value.indexOf('.') !== -1) {
console.log('==拼装=>', value.split('.')[0], value.split('.')[1].substring(0, 2));
params[key] = value.split('.')[0] + '.' + value.split('.')[1].substring(0, 2);
}
}