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