math.numeric 包对基础类型可表达范围之外提供扩展能力。
例如:
- 支持大整数(BigInt);
- 支持高精度十进制数(Decimal)类型;
- 提供常见的数学运算能力包括高精度运算规则。
枚举 | 功能 |
RoundingMode | 舍入规则枚举类,共包含 6 中舍入规则。除包含 IEEE 754 浮点数规定约定的 5 种舍入规则外,提供使用较多的 “四舍五入” 舍入规则。 |
OverflowStrategy | 溢出策略枚举类,共包含 3 种溢出策略。BigInt 类型、Decimal 类型转换为整数类型时,允许指定不同的溢出处理策略。 |
结构体 | 功能 |
BigInt | BigInt 定义为任意精度(二进制)的有符号整数。仓颉的 struct BigInt 用于任意精度有符号整数的计算,类型转换等。 |
DecimalContext | DecimalContext 对象作用于用户对 Decimal 操作过程中,对生成结果指定上下文,设定结果的精度与对应舍入规则。 |
Decimal | Decimal 用于表示任意精度的有符号的十进制数。允许操作过程指定上下文,指定结果精度及舍入规则。提供基础类型 (Int、UInt、String、Float等) 与 BigInt 类型互相转换能力,支持 Decimal 对象基本属性查询等能力,支持基础数学运算操作,提供对象比较、hash、字符串打印等基础能力。 |