util-helpers
Version:
70 lines (69 loc) • 2.12 kB
TypeScript
/**
* 参考: https://github.com/nefe/number-precision/blob/master/src/index.ts
*
* 解决浮动运算问题,避免小数点后产生多位数和计算精度损失。
* 问题示例:2.3 + 2.4 = 4.699999999999999,1.0 - 0.9 = 0.09999999999999998
*/
/**
* 将值转换为有效数值
*
* @param {*} value 要转换的值
* @returns {number|string} 有效数值
*/
export declare function transformEffectiveNumber(value: any): string | number;
/**
* 是否为科学计数法数字
*
* @param {string} num 检查值
* @returns {boolean}
*/
export declare function isScientificNumber(num: string): boolean;
/**
* 把错误的数据转正
*
* @param {number} num 输入数
* @param {number} [precision=12] 小数点的精度
* @returns {number}
* @example
*
* strip(0.09999999999999998)=0.1
*/
export declare function strip(num: number, precision?: number): number;
/**
* 计算数字的小数点长度,支持科学记数法
*
* @param {number|string} num 输入数
* @returns {number} 小数点长度
*/
export declare function digitLength(num: number | string): number;
/**
* 把小数转成整数,支持科学计数法。如果是小数则放大成整数
*
* @param {number|string} num 输入数
* @returns {number}
*/
export declare function float2Fixed(num: number | string): number;
/**
* 检测数字是否越界,如果越界给出提示
*
* @param {number} num 输入数
*/
export declare function checkBoundary(num: number): void;
/**
* 去掉左边数字0
*
* @param {string} num 数字字符串
* @returns {string}
*/
export declare function trimLeftZero(num: string): string;
/**
* 科学计数法转换成普通数字
*
* JavaScript在以下情景会自动将数值转换为科学计数法:
* 1.小数点前的数字个数大于等于22位
* 2.小数点前边是0,小数点后十分位(包含十分位)之后连续零的个数大于等于6个
*
* @param {string | number} num 科学计数法数字
* @returns {string | number} 转换后的数字字符串
*/
export declare function scientificToNumber(num: number | string): string | number;