TypeScript-Arithmetic
TypeScript-Arithmetic
這篇介紹如何用TypeScript撰寫四則運算(加減乘除)。
TypeScript提供強型別的JavaScript語法,對熟悉後端撰寫的工程師
來寫JavaScript多了一份安全感,相對弱型別JavaScript更容易提前
debug。
加法:
export function add(arg1: number, arg2: number): number {
let s1 = arg1.toString();
let s2 = arg2.toString();
let len1 = s1.length - (s1.indexOf(“.”) + 1);
let len2 = s2.length - (s2.indexOf(“.”) + 1);
let m = Math.pow(10, Math.max(len1, len2));
return (multiply(arg1, m) + multiply(arg2, m)) / m;
}
減法:
export function subtract(arg1: number, arg2: number): number {
let s1 = arg1.toString();
let s2 = arg2.toString();
let len1 = s1.length - (s1.indexOf(“.”) + 1);
let len2 = s2.length - (s2.indexOf(“.”) + 1);
let m = Math.pow(10, Math.max(len1, len2));
return (multiply(arg1, m) - multiply(arg2, m)) / m;
}
乘法:
export function multiply(arg1: f64, arg2: f64): f64 {
let s1 = arg1.toString();
let s2 = arg2.toString();
return mul(s1, s2);
}
function mul(s1: string, s2: string): f64 {
let len1 = s1.length - (s1.indexOf(“.”) + 1);
let len2 = s2.length - (s2.indexOf(“.”) + 1);
let r1 = Number.parseInt(s1.replace(“.”, “”), 10);
let r2 = Number.parseInt(s2.replace(“.”, “”), 10);
return r1 * r2 / Math.pow(10, len1 + len2);
}
除法:
export function divide(arg1: number, arg2: number): number {
let s1 = arg1.toString();
let s2 = arg2.toString();
let len1 = s1.length - (s1.indexOf(“.”) + 1);
let len2 = s2.length - (s2.indexOf(“.”) + 1);
let r1 = Number.parseInt(s1.replace(“.”, “”), 10);
let r2 = Number.parseInt(s2.replace(“.”, “”), 10);
return multiply((r1 / r2), Math.pow(10, len2 - len1));
}
Reference:
https://www.typescripttutorial.net/