const calculate = (num1: number, num2: number, op: string) => {
let a: number | string, b: number | string, len1: number, len2: number;
try {
len1 = num1.toString().split(".")[1].length;
} catch (error) {
len1 = 0;
}
try {
len2 = num2.toString().split(".")[1].length;
} catch (error) {
len2 = 0;
}
a = num1.toString().split(".").join("");
b = num2.toString().split(".").join("");
let c = Math.pow(10, Math.abs(len1 - len2));
len1 > len2 && (b = Number(b) * c);
len1 < len2 && (a = Number(a) * c);
let d = Math.pow(10, Math.max(len1, len2));
if (op === "jia") return (Number(a) + Number(b)) / d;
if (op === "jian") return (Number(a) - Number(b)) / d;
if (op === "cheng") return (Number(a) * Number(b)) / Math.pow(10, Math.max(len1, len2) * 2);
if (op === "chu") return Number(a) / Number(b);
};
console.log(calculate(1.11, 2.22, "cheng"));