import {isNumber} from '../isNumber'
/**
 * 返回兩個浮點數相加的結果
 * @param num1 第壹個浮點數
 * @param num2 第二個浮點數
 * @returns 兩個浮點數的相加結果
 */
export function floatAdd(num1: number, num2: number): number {
  // 檢查 num1 和 num2 是否為數字類型
  if (!(isNumber(num1) || isNumber(num2))) {
    console.warn('Please pass in the number type');
    return NaN;
  }

  let r1: number, r2: number, m: number;

  try {
    // 獲取 num1 小數點後的位數
    r1 = num1.toString().split('.')[1].length;
  } catch (error) {
    r1 = 0;
  }

  try {
    // 獲取 num2 小數點後的位數
    r2 = num2.toString().split('.')[1].length;
  } catch (error) {
    r2 = 0;
  }

  // 計算需要擴大的倍數
  m = Math.pow(10, Math.max(r1, r2));

  // 返回相加結果
  return (num1 * m + num2 * m) / m;
}
