阅读背景:

js处理金额

来源:互联网 
举例 一 转换前:123456789.87654321 转换后:123,456,789.88 fmoney(s, n) { n = n > 0 && n <= 20 ? n : 2; s = parseFloat((s + "").replace(/[^\d\.-]/g, "")).toFixed(n) + ""; let l = s.split(".")[0].split("").reverse(), r = s.split(".")[1]; let t = ""; for (let i = 0; i < l.length; i++) { t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : ""); } return t.split("").reverse().join("") + "." + r; } 举例二 比如 00001,打印 = 1 || 00002.1 打印 = 2.1 /** * @description: 去除数字0开头 比如 00001,打印 = 1 || 00002.1 打印 = 2.1 * @param {Stirng} val * @return {String} 处理之后的数据 */ handleClearNumberBeginsWithZero(val) { if (val) { let beforeVal, num = 0, arr = [], newVal = 0 if (val.indexOf('.') !== -1) { arr = val.split('.') beforeVal = arr[0] if (beforeVal.length === 1) { return val } } else { beforeVal = val } for (let i = 0; i < beforeVal.length; i++) { if ( i === 0 && beforeVal[i] !== '0') { return val } if (beforeVal[i] === '0') { num += 1 } } if (num > 1) { if (arr && arr.length > 0) { newVal = beforeVal.slice(num - 1) + '.' + arr[1] } else { newVal = beforeVal.slice(num) } } else { newVal = beforeVal } return newVal } }, 举例 一 转换前:123456789.87654321 转换后:123,456,789.88 fm



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: