myprint-design
Version:
操作简单,组件丰富的一站式打印解决方案打印设计器
123 lines (119 loc) • 3.31 kB
JavaScript
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
;