toolset.io
Version:
191 lines (190 loc) • 5.95 kB
TypeScript
import type { AnyCase } from './word-case';
export declare const numberRE: RegExp;
/**
* 检测给定的值是否可以通过 parseFlat 或 Number 方法转为数字
*
* 开启严格模式则通过正则以更严格的方法判断
*
* @param value 需要检测的值
* @param strict 是否为严格模式
*
* @returns 值是否可以转为数字
*/
export declare function isValidNumber(value: unknown, strict?: boolean): boolean;
/**
* 将给定的值转成数字,NaN 的情况将会处理成 0
*
* @param value 需要转换的值
*
* @returns 转换后的数字
*/
export declare function toNumber(value: unknown): number;
/**
* 为给定的整数开头填充 0,直至满足指定的长度
*
* @param number 需要处理的整数
* @param length 填充至的长度
*
* @returns 填充后的字面值
*/
export declare function padStartZeros(number: number, length: number): string;
/**
* 将小于 10 整数 N 变成 `0N` 的字符串,方法不会对入参校验
*
* @param number 需要处理的整数
*
* @returns 填充后的字面值
*/
export declare function doubleDigits(number: number): string;
/**
* 返回数字的小数位数
*
* @param number 指定的数字
*
* @returns 数字的小数位数
*/
export declare function decimalLength(number: number | string): number;
/**
* Return decimal length of a number
*
* @param number The input number
* @deprecated Using `decimalLength` to replace it
*/
export declare function digitLength(number: number | string): number;
/**
* 将给定的数字格式化为指定的位阶
*
* @param number 需要格式化的数字
* @param segment 分隔的位数,默认为 3
* @param separator 分隔的符号,默认为 ','
*
* @returns 格式化后的字面值
*/
export declare function segmentNumber(number: number | string, segment?: number, separator?: string): string;
/**
* 将给定的实数保留一定的小数
*
* @param number 需要处理的实数
* @param decimal 需要保留的小数
*
* @returns 保留小数后的值
*/
export declare function toFixed(number: number, decimal: number): number;
/**
* 将给定的实数扩大一定的倍数并保留一定的小数
*
* @param number 要处理的实数
* @param multiple 要扩大的倍数
* @param decimal 要保留的小数
*
* @returns 扩大并保留小数后的值
*/
export declare function multipleFixed(number: number, multiple: number, decimal: number): number;
/**
* 根据临界值对给定的数字进行舍入
*
* @param number 需要舍入的数
* @param criticalValue 舍入的临界值 (0 ~ 1),达到临界值进位反之舍弃
*
* @returns 舍入后的值
*/
export declare function round(number: number, criticalValue: number): number;
/**
* 将给定的数字限定在指定的范围内
*
* @param number 需要限定范围的数
* @param min 边界最小值,包含该值
* @param max 边界最大值,包含该值
*
* @returns 限定在范围内的值
*/
export declare function boundRange(number: number | string, min: number, max: number): number;
/**
* 将给定的被除数和除数,不断的取余直至达到次数限制或余数小于除数,返回系列余数
*
* @param number 被除数,需大于 0
* @param divideBy 除数,需大于 1
* @param limit 次数限制,默认为 0,小于 1 则不作限制
*
* @returns 相除过程的系列余数
*/
export declare function leaveNumber(number: number, divideBy: number, limit?: number): number[];
/**
* 将给定的数字转换为序数词
*
* @param number 需要转换的数字
*
* @returns 转换后的序数词
*/
export declare function ordinalNumber(number: number): string;
export type SizeUnitWithAuto = AnyCase<'B' | 'KB' | 'MB' | 'GB' | 'TB' | 'AUTO'>;
export type SizeUnit = Exclude<SizeUnitWithAuto, AnyCase<'AUTO'>>;
/**
* 根据给定的 Byte 数值,将其格式化成指定单位的大小
*
* @param byte 需要计算的 Byte 数值
* @param unit 格式化的单位
* @param precision 结果的精度
* @param joinUtil 是否加入单位
*
* @returns 格式化后的值
*/
export declare function formatByteSize(byte: number, unit?: SizeUnitWithAuto): number;
export declare function formatByteSize(byte: number, unit?: SizeUnitWithAuto, precision?: number): number;
export declare function formatByteSize(byte: number, unit?: SizeUnitWithAuto, joinUtil?: true): number;
export declare function formatByteSize(byte: number, unit?: SizeUnitWithAuto, joinUtil?: true, precision?: number): number;
/**
* 在给定的范围内随机一个数
*
* @param max 最大值
* @param min 最小值,默认为 0
*
* @returns 生成的随机数
*/
export declare function random(max: number, min?: number): number;
/**
* 将数字处理为的指定的有效位数
*
* @param number 需要处理的数字
* @param precision 数字的有效位数
*
* @returns 处理后的数字
*
* @example
* ```ts
* toPrecision(0.09999999999999998) === 0.1 // true
* ```
*/
export declare function toPrecision(number: number | string, precision?: number): number;
/**
* 精确的乘法
*
* @param numbers 需要依次相乘的数字
*
* @returns 乘积
*/
export declare const times: (...numbers: (number | string)[]) => number;
/**
* 精确的加法
*
* @param numbers 需要依次相加的数字
*
* @returns 和
*/
export declare const plus: (...numbers: (number | string)[]) => number;
/**
* 精确的减法
*
* @param numbers 需要依次相减的数字
*
* @returns 差值
*/
export declare const minus: (...numbers: (number | string)[]) => number;
/**
* 精确的除法
*
* @param numbers 需要依次相除的数字
*
* @returns 商
*/
export declare const divide: (...numbers: (number | string)[]) => number;