Skip to main content

引擎 HINT

INDEX_OVERFLOW

设置索引溢出的行为,可选的行为有:thrownullnear,默认为:near

选项值默认含义
throw当遇到索引溢出情况时严格的抛出 ArrayIndexOutOfBoundsException 异常
null当遇到索引溢出情况时返回 null
near当遇到索引溢出情况时取最近的元素。
例:正向索引溢出:list[100],取最后一个、反向索引溢出:list[-100],取第一个

MAX_DECIMAL_DIGITS

最大保留的小数位数,默认为:20

超出该范围将会根据 NUMBER_ROUNDING 选项指定的舍入模式进行舍入,默认是:四舍五入

MIN_DECIMAL_WIDTH

浮点数计算使用的最小数值宽度,可选值有:floatdoublebig。默认为:double

选项值默认含义
float使用 float 类型,作为默认数值宽度。
double使用 double 类型,作为默认数值宽度。
big使用 java.math.BigDecimal 类型,作为默认数值宽度。

MIN_INTEGER_WIDTH

整数数计算使用的最小数值宽度,可选值有:byteshortintlongbig。默认为:int

选项值默认含义
byte使用 byte 类型,作为默认数值宽度。
short使用 short 类型,作为默认数值宽度。
int使用 int 类型,作为默认数值宽度。
long使用 long 类型,作为默认数值宽度。
big使用 java.math.BigInteger 类型,作为默认数值宽度。

NUMBER_ROUNDING

小数的舍入模式,参考 RoundingEnum 定义的舍入模式(一共八种),默认为:四舍五入。详细配置参考:RoundingEnum 枚举。

选项值默认含义
UP向远离零的方向舍入。舍弃非零部分,并将非零舍弃部分相邻的一位数字加一
DOWN向接近零的方向舍入。舍弃非零部分,同时不会非零舍弃部分相邻的一位数字加一,采取截取行为
CEILING向正无穷的方向舍入。如果为正数,舍入结果同 ROUND_UP 一致;如果为负数,舍入结果同 ROUND_DOWN 一致

注意:此模式不会减少数值大小
FLOOR向负无穷的方向舍入。如果为正数,舍入结果同 ROUND_DOWN 一致;如果为负数,舍入结果同 ROUND_UP 一致

注意:此模式不会增加数值大小
HALF_UP四舍五入 向 最接近 的数字舍入,如果与两个相邻数字的距离相等,则为向上舍入的舍入模式

注意:如果舍弃部分 >= 0.5,则舍入行为与 ROUND_UP 相同;否则舍入行为与 ROUND_DOWN 相同
HALF_DOWN五舍六入 向 最接近 的数字舍入,如果与两个相邻数字的距离相等,则为向下舍入的舍入模式

注意:如果舍弃部分 > 0.5,则舍入行为与 ROUND_UP 相同;否则舍入行为与 ROUND_DOWN 相同
HALF_EVEN向 最接近 的数字舍入,如果与两个相邻数字的距离相等,则相邻的偶数舍入

如果舍弃部分左边的数字奇数,则舍入行为与 ROUND_HALF_UP 相同;
如果为偶数,则舍入行为与 ROUND_HALF_DOWN 相同。
注意:在重复进行一系列计算时,此舍入模式可以将累加错误减到最小。此舍入模式也称为 银行家舍入法,主要在美国使用。
四舍六入,五分两种情况,如果前一位为奇数,则入位,否则舍去。
UNNECESSARY断言请求的操作具有精确的结果,因此不需要舍入

如果对获得精确结果的操作指定此舍入模式,则抛出 ArithmeticException