我是靠谱客的博主 英勇唇彩,这篇文章主要介绍Java大数类的RoundingMode(舍入模式),现在分享给大家,希望可以做个参考。

Java大数类的RoundingMode(舍入模式)

        java.math.RoundingMode:这是一种枚举类型,它定义了8种数据的舍入模式。它与java.math.BigDecimal类中定义的8个同名静态常量的作用相同,可用BigDecimal.setScale(int newScale, RoundingMode roundingMode)来设置数据的精度和舍入模式。
        

1、ROUND_UP:向远离零的方向舍入。

        若舍入位为非零,则对舍入部分的前一位数字加1;若舍入位为,则直接舍弃。即为向外取整模式

2、ROUND_DOWN:向接近零的方向舍入。

        不论舍入位是否为零,都直接舍弃。即为向内取整模式。

3、ROUND_CEILING:向正无穷大的方向舍入。

        若 BigDecimal 为正,则舍入行为与 ROUND_UP 相同;若为负,则舍入行为与 ROUND_DOWN 相同。即为向上取整模式

4、ROUND_FLOOR:向负无穷大的方向舍入。

        若 BigDecimal 为正,则舍入行为与 ROUND_DOWN 相同;若为负,则舍入行为与 ROUND_UP 相同。即为向下取整模式

5、ROUND_HALF_UP:向“最接近的”整数舍入。

        若舍入位大于等于5,则对舍入部分的前一位数字加1;若舍入位小于5,则直接舍弃。即为四舍五入模式

6、ROUND_HALF_DOWN:向“最接近的”整数舍入。

        若舍入位大于5,则对舍入部分的前一位数字加1;若舍入位小于等于5,则直接舍弃。即为五舍六入模式

7、ROUND_HALF_EVEN:向“最接近的”整数舍入。

        若(舍入位大于5)或者(舍入位等于5且前一位为奇数),则对舍入部分的前一位数字加1;

        若(舍入位小于5)或者(舍入位等于5且前一位为偶数),则直接舍弃。即为银行家舍入模式

8、ROUND_UNNECESSARY

        断言请求的操作具有精确的结果,因此不需要舍入。

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

不同舍入模式下的舍入操作汇总

最后

以上就是英勇唇彩最近收集整理的关于Java大数类的RoundingMode(舍入模式)的全部内容,更多相关Java大数类内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(152)

评论列表共有 0 条评论

立即
投稿
返回
顶部