| | |
| | | let temp = ''; |
| | | // 对整数取余 |
| | | let remainder = len % 3; |
| | | decimals ? (temp = '.' + decimals) : temp; |
| | | if (decimals) { |
| | | temp = '.' + decimals; |
| | | } |
| | | if (remainder > 0) { |
| | | // 不是3的整数倍 |
| | | return ( |
| | |
| | | } |
| | | }; |
| | | } |
| | | /** |
| | | * 精确保留小数点几位数, 自动补零, 四舍五入 |
| | | * 修复 toFixed 四舍六入五讨论的问题 |
| | | * @param {Number|String} num 数值 |
| | | * @param {Number} [digit=0] 小数点后位数 |
| | | * @returns {String|NaN} |
| | | */ |
| | | static accFixed(num, digit = 0) { |
| | | const number = parseFloat(num); |
| | | if (isNaN(number)) { |
| | | return NaN; |
| | | } |
| | | if (number >= 0) { |
| | | return ( |
| | | Math.round((number + Number.EPSILON) * Math.pow(10, digit)) / Math.pow(10, digit) |
| | | ).toFixed(digit); |
| | | } else { |
| | | return ( |
| | | '-' + |
| | | ( |
| | | Math.round((Math.abs(number) + Number.EPSILON) * Math.pow(10, digit)) / |
| | | Math.pow(10, digit) |
| | | ).toFixed(digit) |
| | | ); |
| | | } |
| | | } |
| | | } |
| | | |
| | | // h5 中,实现 rem 转换 px |