|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 列舉常數 | 欄位 | 方法 | 詳細資訊: 列舉常數 | 欄位 | 方法 |
java.lang.Object java.lang.Enum<RoundingMode> java.math.RoundingMode
public enum RoundingMode
為可能丟棄精度的數值操作指定一種捨入行為。每種捨入網要都指示如何計算返回捨入結果位數的最低有效位。如果返回的位數比表示精確數值結果所需的位數少,則捨棄的位數稱為捨棄部分,而不管這些位數對數值的作用如何。換句話說,假設是一個數值,捨棄部分的絕對值可能大於 1。
每種捨入網要的描述包括一個表,列出如何在相關的捨入網要下將不同的兩位十進制數捨入為一位十進制數。表中的結果欄可以通過以下方式獲得:使用指定的值創建一個 BigDecimal 數字,形成一個具有適當設置(precision 設置為 1,roundingMode 設置為相關的捨入網要)的 MathContext
物件,並使用適當的 MathContext 對此數字調用 round
。下面是一個匯總表,該表顯示了在所有捨入網要下這些捨入操作的結果。
根據給定的捨入網要將輸入數字捨入為一位數的結果 | ||||||||
---|---|---|---|---|---|---|---|---|
輸入數字 | 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 |
此 enum 擬用於取代 BigDecimal
(BigDecimal.ROUND_UP
、BigDecimal.ROUND_DOWN
等)中捨入網要常數的基於整數的列舉。
BigDecimal
,
MathContext
列舉常數摘要 | |
---|---|
CEILING
向正無限大方向捨入的捨入網要。 |
|
DOWN
向零方向捨入的捨入網要。 |
|
FLOOR
向負無限大方向捨入的捨入網要。 |
|
HALF_DOWN
向最接近數字方向捨入的捨入網要,如果與兩個相鄰數字的距離相等,則向下捨入。 |
|
HALF_EVEN
向最接近數字方向捨入的捨入網要,如果與兩個相鄰數字的距離相等,則向相鄰的偶數捨入。 |
|
HALF_UP
向最接近數字方向捨入的捨入網要,如果與兩個相鄰數字的距離相等,則向上捨入。 |
|
UNNECESSARY
用於斷言請求的操作具有精確結果的捨入網要,因此不需要捨入。 |
|
UP
遠離零方向捨入的捨入網要。 |
方法摘要 | |
---|---|
static RoundingMode |
valueOf(int rm)
返回與 BigDecimal 中遺留整數捨入網要常數對應的 RoundingMode 物件。 |
static RoundingMode |
valueOf(String name)
返回帶有指定名稱的該型別的列舉常數。 |
static RoundingMode[] |
values()
Returns an array containing the constants of this enum type, in the order they are declared. |
從類別 java.lang.Enum 繼承的方法 |
---|
clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf |
從類別 java.lang.Object 繼承的方法 |
---|
getClass, notify, notifyAll, wait, wait, wait |
列舉常數詳細資訊 |
---|
public static final RoundingMode UP
範例:
輸入數字 | 使用 UP 捨入網要 將輸入數字捨入為一位數 |
---|---|
5.5 | 6 |
2.5 | 3 |
1.6 | 2 |
1.1 | 2 |
1.0 | 1 |
-1.0 | -1 |
-1.1 | -2 |
-1.6 | -2 |
-2.5 | -3 |
-5.5 | -6 |
public static final RoundingMode DOWN
範例:
輸入數字 | 使用 DOWN 捨入網要 將輸入數字捨入為一位數 |
---|---|
5.5 | 5 |
2.5 | 2 |
1.6 | 1 |
1.1 | 1 |
1.0 | 1 |
-1.0 | -1 |
-1.1 | -1 |
-1.6 | -1 |
-2.5 | -2 |
-5.5 | -5 |
public static final RoundingMode CEILING
範例:
輸入數字 | 使用 CEILING 捨入網要 將輸入數字捨入為一位數 |
---|---|
5.5 | 6 |
2.5 | 3 |
1.6 | 2 |
1.1 | 2 |
1.0 | 1 |
-1.0 | -1 |
-1.1 | -1 |
-1.6 | -1 |
-2.5 | -2 |
-5.5 | -5 |
public static final RoundingMode FLOOR
範例:
輸入數字 | 使用 FLOOR 捨入網要 將輸入數字捨入為一位數 |
---|---|
5.5 | 5 |
2.5 | 2 |
1.6 | 1 |
1.1 | 1 |
1.0 | 1 |
-1.0 | -1 |
-1.1 | -2 |
-1.6 | -2 |
-2.5 | -3 |
-5.5 | -6 |
public static final RoundingMode HALF_UP
範例:
輸入數字 | 使用 HALF_UP 捨入網要 將輸入數字捨入為一位數 |
---|---|
5.5 | 6 |
2.5 | 3 |
1.6 | 2 |
1.1 | 1 |
1.0 | 1 |
-1.0 | -1 |
-1.1 | -1 |
-1.6 | -2 |
-2.5 | -3 |
-5.5 | -6 |
public static final RoundingMode HALF_DOWN
範例:
輸入數字 | 使用 HALF_DOWN 捨入網要 將輸入數字捨入為一位數 |
---|---|
5.5 | 5 |
2.5 | 2 |
1.6 | 2 |
1.1 | 1 |
1.0 | 1 |
-1.0 | -1 |
-1.1 | -1 |
-1.6 | -2 |
-2.5 | -2 |
-5.5 | -5 |
public static final RoundingMode HALF_EVEN
範例:
輸入數字 | 使用 HALF_EVEN 捨入網要 將輸入數字捨入為一位數 |
---|---|
5.5 | 6 |
2.5 | 2 |
1.6 | 2 |
1.1 | 1 |
1.0 | 1 |
-1.0 | -1 |
-1.1 | -1 |
-1.6 | -2 |
-2.5 | -2 |
-5.5 | -6 |
public static final RoundingMode UNNECESSARY
範例:
輸入數字 | 使用 UNNECESSARY 捨入網要 將輸入數字捨入為一位數 |
---|---|
5.5 | 拋出 ArithmeticException |
2.5 | 拋出 ArithmeticException |
1.6 | 拋出 ArithmeticException |
1.1 | 拋出 ArithmeticException |
1.0 | 1 |
-1.0 | -1 |
-1.1 | 拋出 ArithmeticException |
-1.6 | 拋出 ArithmeticException |
-2.5 | 拋出 ArithmeticException |
-5.5 | 拋出 ArithmeticException |
方法詳細資訊 |
---|
public static final RoundingMode[] values()
for(RoundingMode c : RoundingMode.values()) System.out.println(c);
public static RoundingMode valueOf(String name)
指定要返回的列舉常數的名稱。
-
如果該列舉型別沒有帶有指定名稱的常數,
- 則拋出 IllegalArgumentExceptionpublic static RoundingMode valueOf(int rm)
BigDecimal
中遺留整數捨入網要常數對應的 RoundingMode 物件。
rm
- 要轉換的遺留整數捨入網要
IllegalArgumentException
- 整數超出範圍
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 列舉常數 | 欄位 | 方法 | 詳細資訊: 列舉常數 | 欄位 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。