标签:一个 请求 bsp 无限 val 精度 距离 lin 四舍五入
为可能丢弃精度的数值操作指定一种舍入行为。每种舍入模式都指示如何计算返回舍入结果位数的最低有效位。如果返回的位数比表示精确数值结果所需的位数少,则舍弃的位数称为舍弃部分,而不管这些位数对数值的作用如何。换句话说,假设是一个数值,舍弃部分的绝对值可能大于 1。
| 
 BigDecimal  | 
 RoundingMode  | 
 值  | 
 说明  | 
| 
 ROUND_CEILING  | 
 CEILING  | 
 2  | 
 向正无限大方向舍入的舍入模式。如果结果为正,则舍入行为类似于 RoundingMode.UP;如果结果为负,则舍入行为类似于 RoundingMode.DOWN。注意,此舍入模式始终不会减少计算值。  | 
| 
 ROUND_DOWN  | 
 DOWN  | 
 1  | 
 向零方向舍入的舍入模式。从不对舍弃部分前面的数字加 1(即截尾)。注意,此舍入模式始终不会增加计算值的绝对值。  | 
| 
 ROUND_FLOOR  | 
 FLOOR  | 
 3  | 
 向负无限大方向舍入的舍入模式。如果结果为正,则舍入行为类似于 RoundingMode.DOWN;如果结果为负,则舍入行为类似于 RoundingMode.UP。注意,此舍入模式始终不会增加计算值。  | 
| 
 ROUND_HALF_DOWN  | 
 HALF_DOWN  | 
 5  | 
 向最接近数字方向舍入的舍入模式,如果与两个相邻数字的距离相等,则向下舍入。如果被舍弃部分 > 0.5,则舍入行为同 RoundingMode.UP;否则舍入行为同 RoundingMode.DOWN。  | 
| 
 ROUND_HALF_EVEN  | 
 HALF_EVEN  | 
 6  | 
 向最接近数字方向舍入的舍入模式,如果与两个相邻数字的距离相等,则向相邻的偶数舍入。如果舍弃部分左边的数字为奇数,则舍入行为同 RoundingMode.HALF_UP;如果为偶数,则舍入行为同 RoundingMode.HALF_DOWN。注意,在重复进行一系列计算时,此舍入模式可以在统计上将累加错误减到最小。此舍入模式也称为“银行家舍入法”,主要在美国使用。此舍入模式类似于 Java 中对 float 和 double 算法使用的舍入策略。  | 
| 
 ROUND_HALF_UP  | 
 HALF_UP  | 
 4  | 
 向最接近数字方向舍入的舍入模式,如果与两个相邻数字的距离相等,则向上舍入。如果被舍弃部分 >= 0.5,则舍入行为同 RoundingMode.UP;否则舍入行为同 RoundingMode.DOWN。注意,此舍入模式就是通常学校里讲的四舍五入。  | 
| 
 ROUND_UNNECESSARY  | 
 UNNECESSARY  | 
 7  | 
 用于断言请求的操作具有精确结果的舍入模式,因此不需要舍入。如果对生成精确结果的操作指定此舍入模式,则抛出 ArithmeticException。  | 
| 
 ROUND_UP  | 
 UP  | 
 0  | 
 远离零方向舍入的舍入模式。始终对非零舍弃部分前面的数字加 1。注意,此舍入模式始终不会减少计算值的绝对值。  | 
不同舍入模式下的舍入操作汇总
| 
 根据给定的舍入模式将输入数字舍入为一位数的结果  | 
||||||||
| 
 输入 数字  | 
 UP  | 
 DOWN  | 
 CEILING  | 
 FLOOR  | 
 HALF_UP  | 
 HALF_DOWN  | 
 HALF_EVEN  | 
 UNNECESSARY  | 
| 
 5.5  | 
 6  | 
 5  | 
 6  | 
 5  | 
 6  | 
 5  | 
 6  | 
 抛出 ArithmeticException  | 
| 
 2.5  | 
 3  | 
 2  | 
 3  | 
 2  | 
 3  | 
 2  | 
 2  | 
 抛出 ArithmeticException  | 
| 
 1.6  | 
 2  | 
 1  | 
 2  | 
 1  | 
 2  | 
 2  | 
 2  | 
 抛出 ArithmeticException  | 
| 
 1.1  | 
 2  | 
 1  | 
 2  | 
 1  | 
 1  | 
 1  | 
 1  | 
 抛出 ArithmeticException  | 
| 
 1.0  | 
 1  | 
 1  | 
 1  | 
 1  | 
 1  | 
 1  | 
 1  | 
 1  | 
| 
 -1.0  | 
 -1  | 
 -1  | 
 -1  | 
 -1  | 
 -1  | 
 -1  | 
 -1  | 
 -1  | 
| 
 -1.1  | 
 -2  | 
 -1  | 
 -1  | 
 -2  | 
 -1  | 
 -1  | 
 -1  | 
 抛出 ArithmeticException  | 
| 
 -1.6  | 
 -2  | 
 -1  | 
 -1  | 
 -2  | 
 -2  | 
 -2  | 
 -2  | 
 抛出 ArithmeticException  | 
| 
 -2.5  | 
 -3  | 
 -2  | 
 -2  | 
 -3  | 
 -3  | 
 -2  | 
 -2  | 
 抛出 ArithmeticException  | 
| 
 -5.5  | 
 -6  | 
 -5  | 
 -5  | 
 -6  | 
 -6  | 
 -5  | 
 -6  | 
 抛出 ArithmeticException  | 
标签:一个 请求 bsp 无限 val 精度 距离 lin 四舍五入
原文地址:https://www.cnblogs.com/bd-Luming/p/10393537.html