changeNum(s) { // 防范后端传给的是非字符串值 s = s.toString(); // 检测传进来的 s 是否为非数字值 和 非字符串 if (isNaN(s) && !(typeof s === "string")) { return s; } s = "" + s; s = s.replace(/,/g, ""); s = (s + "").split("."); let l = s[0].split("").reverse(); let r = s[1]; if (r) { if (r.length === 1) { r = "." + r + "0"; } else if (r.length === 2) { r = "." + r; } else { r = "." + r.substr(0, 2); } } else { r = ".00"; } let t = ""; for (let i = 0; i < l.length; i++) { t += l[i] + ((i + 1) % 3 === 0 && i + 1 !== l.length && l[i + 1] !== "-" ? "," : ""); } return t.split("").reverse().join("") + r; }
给金额框增加千位符,并判断是否含数字以外的值如果有则清空, 同时限制只能输入两位小数, 如果输入的是整数 会默认加上" .00 " (三)
原文:https://www.cnblogs.com/blueswithchenxing/p/11282613.html