Skip to content

Number 数值方法 API

本文逐项记录 @fast-china/utils 的 Number 数值公开函数。

clamp 限幅

把数字限制在闭区间内。

签名

ts
export function clamp(value: number, minimum: number, maximum: number): number;

示例

ts
import { clamp } from "@fast-china/utils";

const result = clamp(1, 1, 10);
console.log(result); // 1

输入

输入值输入值类型必填/默认值输入值说明
valuenumber需要限制的数字。
minimumnumber闭区间下界。
maximumnumber闭区间上界。

返回

返回值返回值类型返回值说明
resultnumberminimum <= result <= maximum 的值。

inRange 区间

判断数字是否位于指定区间。

签名

ts
export function inRange(value: number, minimum: number, maximum: number, includeMaximum = false): boolean;

示例

ts
import { inRange } from "@fast-china/utils";

const result = inRange(1, 1, 10, false);
console.log(result); // true

输入

输入值输入值类型必填/默认值输入值说明
valuenumber待检查数字。
minimumnumber包含的下界。
maximumnumber上界。
includeMaximumunknown否,默认 false是否包含上界;默认使用半开区间 [minimum, maximum)

返回

返回值返回值类型返回值说明
resultboolean数字满足区间边界时返回 true

roundTo 舍入

按十进制位数四舍五入。

签名

ts
export function roundTo(value: number, digits = 0): number;

示例

ts
import { roundTo } from "@fast-china/utils";

const result = roundTo(1, 0);
console.log(result); // 1

输入

输入值输入值类型必填/默认值输入值说明
valuenumber有限数字。
digitsunknown否,默认 0小数位数;负数表示十位、百位等,范围 -15 至 15。

返回

返回值返回值类型返回值说明
resultnumberMath.round 语义舍入后的数字。

sum 求和

对有限数字求和。

签名

ts
export function sum(values: readonly number[]): number;

示例

ts
import { sum } from "@fast-china/utils";

const result = sum([1, 2, 3]);
console.log(result); // 6

输入

输入值输入值类型必填/默认值输入值说明
valuesreadonly number[]不会被修改的数字数组。

返回

返回值返回值类型返回值说明
resultnumber算术和;空数组返回 0

average 均值

计算有限数字的算术平均值。

签名

ts
export function average(values: readonly number[]): number | undefined;

示例

ts
import { average } from "@fast-china/utils";

const result = average([1, 2, 3]);
console.log(result); // 2

输入

输入值输入值类型必填/默认值输入值说明
valuesreadonly number[]不会被修改的数字数组。

返回

返回值返回值类型返回值说明
resultnumber | undefined空数组或只有稀疏空位的数组返回 undefined;空位不参与分母。

lerp 插值

在两个数字间做线性插值。

签名

ts
export function lerp(start: number, end: number, amount: number): number;

示例

ts
import { lerp } from "@fast-china/utils";

const result = lerp(0, 10, 1);

输入

输入值输入值类型必填/默认值输入值说明
startnumberamount = 0 时的起点。
endnumberamount = 1 时的终点。
amountnumber插值或外推比例。

返回

返回值返回值类型返回值说明
resultnumber线性计算结果。

formatBytes 格式化

非负小数字节也接受;例如 formatBytes(0.5) 返回 "0.5 B",不会选择更大的单位。

将非负字节数格式化为 SI 或 IEC 单位。

签名

ts
export function formatBytes(bytes: number, options: FormatBytesOptions = {}): string;

示例

ts
import { formatBytes } from "@fast-china/utils";

const result = formatBytes(1_536, { base: 1024, decimals: 1 });

输入

输入值输入值类型必填/默认值输入值说明
bytesnumber非负有限字节数。
optionsFormatBytesOptions否,默认 {}基数、小数位和语言选项。

返回

返回值返回值类型返回值说明
resultstring例如 1.5 KiB

randomInt 随机数

在半开区间内生成随机整数。

签名

ts
export function randomInt(minimum: number, maximumExclusive: number): number;

示例

ts
import { randomInt } from "@fast-china/utils";

const result = randomInt(1, 10);

输入

输入值输入值类型必填/默认值输入值说明
minimumnumber包含的安全整数下界。
maximumExclusivenumber不包含的安全整数上界;区间宽度最大为 2^32。

返回

返回值返回值类型返回值说明
resultnumber位于 [minimum, maximumExclusive) 的随机整数。