module.exports = class NumKit { /** * 截取小数位工具 * @param num 需要截取的小数 * @param n 截取位数 * @returns {number} * @private */ static getSubFloat(num, n) { if (!num) { return 0 } let rst = num.toString() if (rst.indexOf('e') !== -1) { const e = parseInt(rst.split('e')[1]) rst = parseFloat(rst.substring(0, rst.indexOf('.') + n + 1)) * Math.pow(10, e) } else if (rst.indexOf('.') !== -1) { rst = rst.substring(0, rst.indexOf('.') + n + 1) } return parseFloat(rst) } /** * 转成非科学计数法 * @param num * @returns {string} */ static toNonExponential(num) { const m = num.toExponential().match(/\d(?:\.(\d*))?e([+-]\d+)/) return num.toFixed(Math.max(0, (m[1] || '').length - m[2])) } }