// 我的方法用于vue changeNum(value) {
// 预防页面复用(比方说新增/编辑的时候用一套页面)先将value的分隔号清除掉
value = value.replace(/,/gi, "); // 先判断输入框输入的是否是符合规格的数字(包括特殊符号,大小写字母,空格等),不符合则清空输入框 var reg = /^\d+(\.\d+)?$/; if(reg.test(value) == true) { //将输入的值进行四舍五入转换成整数 let vals = Math.round(value * 100) / 100; //将输入的值转换为字符串 let valse = vals.toString(); //检索输入的值有没有输入小数位 比如 99.99 var valsex = valse.indexOf("."); //如果没有输入小数位则自动补充".00" if(valsex < 0) { valse += ".00"; } //如果只输入一位小数则进行补充后面的一位 比方说输入"99.8" 会转化成"99.80" while (valse.length <= valsex + 2) { valse += "0"; } //上面的保留两位小数的过程 下面是给输入的值增加千位符 let re = /\d{1,3}(?=(\d{3})+$)/g;
//如果超过三位数增加千位符 let n1 = valse.replace(/^(\d+)((\.\d+)?)$/, function(s, s1, s2) { return s1.replace(re, "$&,") + s2; });
//这是我v-model的值 this.project[num] = n1; }else { //不符合规格则清空输入框(这是我v-model的值) this.project[num] = ""; } }