std.math.numeric 包
功能介绍
math.numeric 包对基础类型可表达范围之外提供扩展能力。
例如:
- 支持大整数(BigInt);
- 支持高精度十进制数(Decimal)类型;
- 提供常见的数学运算能力包括高精度运算规则。
API 列表
函数
函数名 | 功能 |
---|---|
abs(BigInt) | 求一个 BigInt 的绝对值。 |
abs(Decimal) | 求一个 Decimal 的绝对值。 |
sqrt(BigInt) | 求 BigInt 的算术平方根,向下取整。 |
sqrt(Decimal) | 求 Decimal 的算术平方根。结果为无限小数场景时,默认采用 IEEE 754-2019 decimal128 对结果进行舍入。 |
gcd(BigInt, BigInt) | 求两个 BigInt 的最大公约数。总是返回非负数(相当于绝对值的最大公约数)。 |
lcm(BigInt, BigInt) | 求两个 BigInt 的的最小公倍数。除了入参有 0 时返回 0 外,总是返回正数(相当于绝对值的最小公倍数)。 |
max(BigInt, BigInt) | 计算并返回两个 BigInt 中较大的那个。 |
min(BigInt, BigInt) | 计算并返回两个 BigInt 中较小的那个。 |
countOne(BigInt) | 计算并返回入参 BigInt 的二进制补码中 1 的个数。 |
round(Decimal, RoundingMode) | 计算 Decimal 的舍入值,根据舍入方式向邻近的整数舍入。 |
枚举
枚举 | 功能 |
---|---|
OverflowStrategy | 溢出策略枚举类,共包含 3 种溢出策略。BigInt 类型、Decimal 类型转换为整数类型时,允许指定不同的溢出处理策略。 |