subtract
减法运算, 其中调用getDecimalLength方法
配置项
| 参数 | 类型 | 是否必选 | 默认值 | 参数描述 |
|---|---|---|---|---|
| number1 | number | 是 | - | 操作数1 |
| number2 | number | 是 | - | 操作数2 |
| maxTimes | number | 否 | - | 可选的对阶倍数 |
返回值
| 类型 | 描述 |
|---|---|
| number | 运算结果 |
示例
console.log(subtract(1.5, 1.2)) // 0.3
console.log(subtract(0.3, 0.2)) // 0.1源码
js
export function subtract(number1, number2, maxTimes) {
// const calculateMaxTimes = (number1, number2, maxTimes) => {
// const max = Math.max(...getDecimalLength([number1, number2]));
// return maxTimes || Math.pow(10, max);
// };
maxTimes = calculateMaxTimes(number1, number2, maxTimes);
const res = (number1 * maxTimes - number2 * maxTimes) / maxTimes;
const resultDecimalLength = getDecimalLength(res);
// 如果结果的小数位数超过输入的最大小数位数,递归调用
if (resultDecimalLength > Math.max(...getDecimalLength([number1, number2]))) {
return subtract(number1, number2, maxTimes * 10);
}
return res;
}
@keyboarder-yang