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