// 我的方法用于vue changeNum(value) { // 预防页面复用(比方说新增/编辑的时候用一套页面)先将value的分隔号清除掉, 如果value值不是字符串必须先转字符串 value = value.replace(/,/gi, ""); // 先判断输入框输入的是否是符合规格的数字(包括特殊符号,大小写字母,空格等),不符合则清空输入框 var reg = /^\d+(\.\d+)?$/; if (reg.test(value) == true) { //将输入的值进行四舍五入转换成整数 value = Math.round(value * 100) / 100; // 把输入的value值四舍五入保留两位小数 value = value.toFixed(2); let num1,num2; if (value.indexOf(".") > -1) { // 把字符串分割成数组然后并对数组第一项,第二项分别赋值 num1 = value.split('.')[0]; num2 = "." + value.split('.')[1]; }else { num1 = value; num2 = ".00"; } //上面的保留两位小数的过程 下面是给输入的值增加千位符 let re = /\d{1,3}(?=(\d{3})+$)/g; //如果超过三位数增加千位符 let n1 = num1.replace(/^(\d+)((\.\d+)?)$/, function(s, s1, s2) { return s1.replace(re, "$&,") + s2; }); //这是我v-model的值 this.project[num] = num1 + num2; } else { //不符合规格则清空输入框(这是我v-model的值) this.project[num] = ""; } }
给金额框增加千位符,并判断是否含数字以外的值如果有则清空, 同时限制只能输入两位小数, 如果输入的是整数 会默认加上" .00 " (二)
猜你喜欢
转载自www.cnblogs.com/blueswithchenxing/p/11282330.html
今日推荐
周排行