日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

BigDecimal的四舍五入的RoundingMode 选择

發布時間:2025/6/15 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 BigDecimal的四舍五入的RoundingMode 选择 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

BigDecimal的四舍五入的RoundingMode 選擇

RoundingMode介紹:

RoundingMode是一個枚舉類,有一下幾個常量:UP,DOWN,CEILING,FLOOR,HALF_UP,HALF_DOWN,HALF_EVEN,UNNECESSARY


?

UP

public static final RoundingMode UP

遠離零方向舍入的舍入模式。始終對非零舍棄部分前面的數字加 1。注意,此舍入模式始終不會減少計算值的絕對值。

示例:

輸入數字使用?UP?舍入模式
將輸入數字舍入為一位數
5.56
2.53
1.62
1.12
1.01
-1.0-1
-1.1-2
-1.6-2
-2.5-3
-5.5-6

DOWN

public static final RoundingMode DOWN

向零方向舍入的舍入模式。從不對舍棄部分前面的數字加 1(即截尾)。注意,此舍入模式始終不會增加計算值的絕對值。

示例:

輸入數字使用?DOWN?舍入模式
將輸入數字舍入為一位數
5.55
2.52
1.61
1.11
1.01
-1.0-1
-1.1-1
-1.6-1
-2.5-2
-5.5-5

CEILING

public static final RoundingMode CEILING

向正無限大方向舍入的舍入模式。如果結果為正,則舍入行為類似于?RoundingMode.UP;如果結果為負,則舍入行為類似于?RoundingMode.DOWN。注意,此舍入模式始終不會減少計算值。

示例:

輸入數字使用?CEILING?舍入模式
將輸入數字舍入為一位數
5.56
2.53
1.62
1.12
1.01
-1.0-1
-1.1-1
-1.6-1
-2.5-2
-5.5-5

FLOOR

public static final RoundingMode FLOOR

向負無限大方向舍入的舍入模式。如果結果為正,則舍入行為類似于?RoundingMode.DOWN;如果結果為負,則舍入行為類似于RoundingMode.UP。注意,此舍入模式始終不會增加計算值。

示例:

輸入數字使用?FLOOR?舍入模式
將輸入數字舍入為一位數
5.55
2.52
1.61
1.11
1.01
-1.0-1
-1.1-2
-1.6-2
-2.5-3
-5.5-6

HALF_UP

public static final RoundingMode HALF_UP

向最接近數字方向舍入的舍入模式,如果與兩個相鄰數字的距離相等,則向上舍入。如果被舍棄部分 >= 0.5,則舍入行為同?RoundingMode.UP;否則舍入行為同RoundingMode.DOWN。注意,此舍入模式就是通常學校里講的四舍五入。

示例:

輸入數字使用?HALF_UP?舍入模式
將輸入數字舍入為一位數
5.56
2.53
1.62
1.11
1.01
-1.0-1
-1.1-1
-1.6-2
-2.5-3
-5.5-6

HALF_DOWN

public static final RoundingMode HALF_DOWN

向最接近數字方向舍入的舍入模式,如果與兩個相鄰數字的距離相等,則向下舍入。如果被舍棄部分 > 0.5,則舍入行為同?RoundingMode.UP;否則舍入行為同RoundingMode.DOWN。

示例:

輸入數字使用?HALF_DOWN?舍入模式
將輸入數字舍入為一位數
5.55
2.52
1.62
1.11
1.01
-1.0-1
-1.1-1
-1.6-2
-2.5-2
-5.5-5

HALF_EVEN

public static final RoundingMode HALF_EVEN

向最接近數字方向舍入的舍入模式,如果與兩個相鄰數字的距離相等,則向相鄰的偶數舍入。如果舍棄部分左邊的數字為奇數,則舍入行為同RoundingMode.HALF_UP;如果為偶數,則舍入行為同RoundingMode.HALF_DOWN。注意,在重復進行一系列計算時,此舍入模式可以在統計上將累加錯誤減到最小。此舍入模式也稱為“銀行家舍入法”,主要在美國使用。此舍入模式類似于 Java 中對float?和double?算法使用的舍入策略。

示例:

輸入數字使用?HALF_EVEN?舍入模式
將輸入數字舍入為一位數
5.56
2.52
1.62
1.11
1.01
-1.0-1
-1.1-1
-1.6-2
-2.5-2
-5.5-6

?

UNNECESSARY

public static final RoundingMode UNNECESSARY

用于斷言請求的操作具有精確結果的舍入模式,因此不需要舍入。如果對生成精確結果的操作指定此舍入模式,則拋出?ArithmeticException。

示例:

輸入數字使用?UNNECESSARY?舍入模式
將輸入數字舍入為一位數
5.5拋出?ArithmeticException
2.5拋出?ArithmeticException
1.6拋出?ArithmeticException
1.1拋出?ArithmeticException
1.01
-1.0-1
-1.1拋出?ArithmeticException
-1.6拋出?ArithmeticException
-2.5拋出?ArithmeticException
-5.5拋出?ArithmeticException

總結

以上是生活随笔為你收集整理的BigDecimal的四舍五入的RoundingMode 选择的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。