vue输入框限制输入两位小数

<input  v-model.number="money"  />

methods:{
  onInput(value){
 //设置变量开关,控制是否强制刷新
  let needForceUpdate = false;
  let number = parseFloor(value)||0;
  let val = value;
  //通过split方法生成一个数组,区分正数和小数部分
   let [integerPart,decimalPart] = val.split('.');
    let formatValue = integerPart||'';
    //如果小数部分存在并且长度大于等于2,就截取小数部分的前两位
    if(decimalPart&&decimalPart.length>=2){
       formatValue = `${integerPart||'0'}.${decimalPart.slice(0,2)}`
       number = formatValue;
       //重新截取小数值之后,强制刷新
       needForceUpdate = true;
 } 
needForceUpdate&&this.$forceUpdate();
this.$emit('input',number);
this.$emit('onChange',number);
 }
}
posted @ 2025-04-01 11:09  码磊姐姐  阅读(205)  评论(0)    收藏  举报