W72crm_web-master/node_modules/number-precision/build/index.d.ts

79 lines
2.3 KiB
TypeScript
Raw Permalink Normal View History

2025-05-27 11:25:53 +08:00
/**
* @desc
*
* 2.3 + 2.4 = 4.6999999999999991.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;