UNPKG

toolset.io

Version:

前端开发常用工具集。

191 lines (190 loc) 5.95 kB
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;