UNPKG

myprint-design

Version:

操作简单,组件丰富的一站式打印解决方案打印设计器

123 lines (119 loc) 3.31 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); const MathCalc = { toFixed(x, scale = 2) { return parseFloat(x.toFixed(scale)); }, ceil(x, scale = 2) { let pow = Math.pow(10, scale); return Math.ceil(x * pow) / pow; }, sumScale(arg1 = 0, arg2 = 0, scale = 2) { return this.sum(this.toFixed(arg1, scale), this.toFixed(arg2, scale)); }, sum(arg1 = 0, arg2 = 0) { let r1, r2; try { r1 = arg1.toString().split(".")[1].length; } catch (e) { r1 = 0; } try { r2 = arg2.toString().split(".")[1].length; } catch (e) { r2 = 0; } const c = Math.abs(r1 - r2); const m = Math.pow(10, Math.max(r1, r2)); if (c > 0) { const cm = Math.pow(10, c); if (r1 > r2) { arg1 = Number(arg1.toString().replace(".", "")); arg2 = Number(arg2.toString().replace(".", "")) * cm; } else { arg1 = Number(arg1.toString().replace(".", "")) * cm; arg2 = Number(arg2.toString().replace(".", "")); } } else { arg1 = Number(arg1.toString().replace(".", "")); arg2 = Number(arg2.toString().replace(".", "")); } return (arg1 + arg2) / m; }, subScale(arg1 = 0, arg2 = 0, scale = 2) { return this.sub(this.toFixed(arg1, scale), this.toFixed(arg2, scale)); }, sub(arg1, arg2) { let r1, r2; try { r1 = arg1.toString().split(".")[1].length; } catch (e) { r1 = 0; } try { r2 = arg2.toString().split(".")[1].length; } catch (e) { r2 = 0; } const c = Math.abs(r1 - r2); const m = Math.pow(10, Math.max(r1, r2)); if (c > 0) { const cm = Math.pow(10, c); if (r1 > r2) { arg1 = Number(arg1.toString().replace(".", "")); arg2 = Number(arg2.toString().replace(".", "")) * cm; } else { arg1 = Number(arg1.toString().replace(".", "")) * cm; arg2 = Number(arg2.toString().replace(".", "")); } } else { arg1 = Number(arg1.toString().replace(".", "")); arg2 = Number(arg2.toString().replace(".", "")); } return (arg1 - arg2) / m; }, mul(arg1, arg2, scale = 2) { let m = 0; const s1 = arg1.toString(); const s2 = arg2.toString(); try { m += s1.split(".")[1].length; } catch (e) { } try { m += s2.split(".")[1].length; } catch (e) { } return this.toFixed(Number(s1.replace(".", "")) * Number(s2.replace(".", "")) / Math.pow(10, m), scale); }, div(arg1, arg2, scale = 2) { let t1 = 0, t2 = 0; try { t1 = arg1.toString().split(".")[1].length; } catch (e) { } try { t2 = arg2.toString().split(".")[1].length; } catch (e) { } const r1 = Number(arg1.toString().replace(".", "")); const r2 = Number(arg2.toString().replace(".", "")); return this.toFixed(r1 / r2 * Math.pow(10, t2 - t1), scale); }, limitMin(val, min) { return val < min ? min : val; }, isNumber(value) { return !isNaN(value); } }; function _default(val, _default2) { return val ? val : _default2; } function _defaultNum(val, _default2) { return !val || isNaN(val) ? _default2 : val; } exports._default = _default; exports._defaultNum = _defaultNum; exports.default = MathCalc; //# sourceMappingURL=numberUtil.js.map