UNPKG

taro-material

Version:

Mini Program components that implement Google's Material Design.

41 lines (36 loc) 1.14 kB
const toFixed = (number, digits = 0) => { if (typeof number !== 'number') { return number; } const d = Math.pow(10, digits); const result = Math.round(number * d) / d; return result.toFixed(digits) * 1; }; const format = (number, digits, decPoint, thousandsSep) => { if (typeof number !== 'number') { return number; } /* * 参数说明: * number:要格式化的数字 * digits:保留几位小数 * decPoint:小数点符号 * thousandsSep:千分位符号 * */ number = `${number}`.replace(/[^0-9+-Ee.]/g, ''); let n = !isFinite(+number) ? 0 : +number, prec = !isFinite(+digits) ? 0 : Math.abs(digits), sep = typeof thousandsSep === 'undefined' ? ',' : thousandsSep, dec = typeof decPoint === 'undefined' ? '.' : decPoint; const s = `${prec ? toFixed(n, prec) : Math.round(n)}`.split('.'); const re = /(-?\d+)(\d{3})/; while (re.test(s[0])) { s[0] = s[0].replace(re, `$1${sep}$2`); } if ((s[1] || '').length < prec) { s[1] = s[1] || ''; s[1] += new Array(prec - s[1].length + 1).join('0'); } return s.join(dec); }; export { toFixed, format };