| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- /**
- * @desc 解决浮动运算问题,避免小数点后产生多位数和计算精度损失。
- *
- * 问题示例:2.3 + 2.4 = 4.699999999999999,1.0 - 0.9 = 0.09999999999999998
- */
- declare type NumberType = number | string;
- /**
- * Correct the given number to specifying significant digits.
- *
- * @param num The input number
- * @param precision An integer specifying the number of significant digits
- *
- * @example strip(0.09999999999999998) === 0.1 // true
- */
- declare function strip(num: NumberType, precision?: number): number;
- /**
- * Return digits length of a number.
- *
- * @param num The input number
- */
- declare function digitLength(num: NumberType): number;
- /**
- * Convert the given number to integer, support scientific notation.
- * The number will be scale up if it is decimal.
- *
- * @param num The input number
- */
- declare function float2Fixed(num: NumberType): number;
- /**
- * Accurate multiplication.
- *
- * @param nums The numbers to multiply
- */
- declare const times: (...nums: NumberType[]) => number;
- /**
- * Accurate addition.
- *
- * @param nums The numbers to add
- */
- declare const plus: (...nums: NumberType[]) => number;
- /**
- * Accurate subtraction.
- *
- * @param nums The numbers to subtract
- */
- declare const minus: (...nums: NumberType[]) => number;
- /**
- * Accurate division.
- *
- * @param nums The numbers to divide
- */
- declare const divide: (...nums: NumberType[]) => number;
- /**
- * Accurate rounding method.
- *
- * @param num The number to round
- * @param decimal An integer specifying the decimal digits
- */
- declare function round(num: NumberType, decimal: number): number;
- /**
- * Whether to check the bounds of number, default is enabled.
- *
- * @param flag The value to indicate whether is enabled
- */
- declare function enableBoundaryChecking(flag?: boolean): void;
- export { strip, plus, minus, times, divide, round, digitLength, float2Fixed, enableBoundaryChecking };
- declare const _default: {
- strip: typeof strip;
- plus: (...nums: NumberType[]) => number;
- minus: (...nums: NumberType[]) => number;
- times: (...nums: NumberType[]) => number;
- divide: (...nums: NumberType[]) => number;
- round: typeof round;
- digitLength: typeof digitLength;
- float2Fixed: typeof float2Fixed;
- enableBoundaryChecking: typeof enableBoundaryChecking;
- };
- export default _default;
|