2026-09-02 16:10:57 +08:00

27 lines
778 B
TypeScript

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;
}
const getDecimalLen = (n: number):number => {
const arr = n.toString().split('.')
if(arr.length > 0) return arr[1].length
return 0
};
const r1 = getDecimalLen(num1);
const r2 = getDecimalLen(num2);
// 计算需要扩大的倍数
const m = Math.pow(10, Math.max(r1, r2));
// 返回相加结果
return Math.round((num1 * m + num2 * m)) / m;
}