枚举
enum OverflowStrategy
public enum OverflowStrategy {
| saturating
| throwing
| wrapping
}
溢出策略枚举类,共包含 3 种溢出策略。BigInt 类型、Decimal 类型转换为整数类型时,允许指定不同的溢出处理策略。
saturating
saturating
功能:出现溢出,当前值大于目标类型的 MAX 值,返回目标类型 MAX 值,当前值小于目标类型的 MIN 值,返回目标类型 MIN 值。
throwing
throwing
功能:出现溢出,抛出异常。
wrapping
wrapping
功能:出现溢出,高位截断。
enum RoundingMode
public enum RoundingMode {
| CEILING
| DOWN
| FLOOR
| HALF_EVEN
| HALF_UP
| UP
}
舍入规则枚举类,共包含 6 中舍入规则。除包含 IEEE 754 浮点数规定约定的 5 种舍入规则外,提供使用较多的 “四舍五入” 舍入规则。
十进制数 | UP | DOWN | CEILING | FLOOR | HALF_UP | HALF_EVEN |
---|---|---|---|---|---|---|
7.5 | 8 | 7 | 8 | 7 | 8 | 8 |
4.5 | 5 | 4 | 5 | 4 | 5 | 4 |
-1.1 | -2 | -1 | -1 | -2 | -1 | -1 |
-4.5 | -5 | -4 | -4 | -5 | -5 | -4 |
-7.5 | -8 | -7 | -7 | -8 | -8 | -8 |
CEILING
CEILING
功能:向正无穷方向舍入。
DOWN
DOWN
功能:向靠近零的方向舍入。
FLOOR
FLOOR
功能:向负无穷方向舍入。
HALF_EVEN
HALF_EVEN
功能:四舍六入五取偶,又称 “银行家舍入”。
HALF_UP
HALF_UP
功能:四舍五入。
UP
UP
功能:向远离零的方向舍入。