cxc-szcx-uniapp/uni_modules/lime-shared/floatAdd/index.ts

36 lines
844 B
TypeScript
Raw Normal View History

2025-02-11 01:34:29 +00:00
import { isNumber } from '../isNumber'
2024-09-14 02:26:50 +00:00
/**
*
* @param num1
* @param num2
* @returns
*/
2025-02-11 01:34:29 +00:00
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;
}
2024-09-14 02:26:50 +00:00
2025-02-11 01:34:29 +00:00
let r1 : number, r2 : number, m : number;
2024-09-14 02:26:50 +00:00
2025-02-11 01:34:29 +00:00
try {
// 获取 num1 小数点后的位数
r1 = num1.toString().split('.')[1].length;
} catch (error) {
r1 = 0;
}
2024-09-14 02:26:50 +00:00
2025-02-11 01:34:29 +00:00
try {
// 获取 num2 小数点后的位数
r2 = num2.toString().split('.')[1].length;
} catch (error) {
r2 = 0;
}
2024-09-14 02:26:50 +00:00
2025-02-11 01:34:29 +00:00
// 计算需要扩大的倍数
m = Math.pow(10, Math.max(r1, r2));
2024-09-14 02:26:50 +00:00
2025-02-11 01:34:29 +00:00
// 返回相加结果
return (num1 * m + num2 * m) / m;
}