123456789101112131415161718192021222324252627282930313233343536 |
- 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;
- }
|