UNPKG

util-helpers

Version:

一个基于业务场景的工具方法库

29 lines (26 loc) 923 B
import { isNaN } from 'ut2'; import { transformEffectiveNumber, float2Fixed, digitLength, checkBoundary } from './utils/math.util.js'; function times() { var nums = []; for (var _i = 0; _i < arguments.length; _i++) { nums[_i] = arguments[_i]; } var num1 = nums[0]; var num2 = nums[1] === void 0 ? 1 : nums[1]; var rest = nums.slice(2); if (rest.length > 0) { return times.apply(void 0, [times(num1, num2)].concat(rest)); } num1 = transformEffectiveNumber(num1); num2 = transformEffectiveNumber(num2); if (isNaN(num1) || isNaN(num2)) { return Number.NaN; } var num1Changed = float2Fixed(num1); var num2Changed = float2Fixed(num2); var baseNum = digitLength(num1) + digitLength(num2); var leftValue = num1Changed * num2Changed; checkBoundary(leftValue); return leftValue / Math.pow(10, baseNum); } export { times as default };