/** 四则运算: 加 */
public static add(arg1: number, arg2: number): number {
const i1 = FormatHelper.toInteger(arg1),
i2 = FormatHelper.toInteger(arg2);
let result;
if (i1.times > i2.times) {
result = (i1.num + i2.num * (i1.times / i2.times)) / i1.times;
}else {
result = (i1.num * (i2.times / i1.times) + i2.num) / i2.times;
}
return result;
}
/** 四则运算: 减 */
public static subtract(arg1: number, arg2: number): number {
const i1 = FormatHelper.toInteger(arg1),
i2 = FormatHelper.toInteger(arg2);
let result;
if (i1.times > i2.times) {
result = (i1.num - i2.num * (i1.times / i2.times)) / i1.times;
}else {
result = (i1.num * (i2.times / i1.times) - i2.num) / i2.times;
}
return result;
}
/** 四则运算: 乘 */
public static multiply(arg1: number, arg2: number): number {
let m = 0;
const s1 = arg1.toString(), s2 = arg2.toString();
try {
m += s1.split('.')[1].length;
} catch (e) { }
try {
m += s2.split('.')[1].length;
} catch (e) { }
return Number(s1.replace('.', '')) * Number(s2.replace('.', '')) / Math.pow(10, m);
}
/** 四则运算: 除 */
public static divide(arg1: number, arg2: number, dec: number): number {
let t1 = 0, t2 = 0, r1, r2;
try {
t1 = arg1.toString().split('.')[1].length;
} catch (e) { }
try {
t2 = arg2.toString().split('.')[1].length;
} catch (e) { }
r1 = Number(arg1.toString().replace('.', ''));
r2 = Number(arg2.toString().replace('.', ''));
return round(FormatHelper.multiply((r1 / r2), Math.pow(10, t2 - t1)), dec);
}
console