
- Java.math 包擴充套件
- Java.math - 列舉
- Java.math - 討論
Java.math.RoundingMode 列舉
簡介
java.math.RoundingMode 列舉指定了能夠丟棄精度的數值運算的舍入行為。每個舍入模式指示如何計算舍入結果的最低有效返回數字。
如果返回的數字少於表示精確數值結果所需的數字,則無論這些數字對數字值的貢獻如何,丟棄的數字都將被稱為丟棄的小數部分。換句話說,如果將其視為數值,則丟棄的小數部分的絕對值可能大於 1。
此列舉旨在替換 BigDecimal 中基於整數的舍入模式常量列舉(BigDecimal.ROUND_UP、BigDecimal.ROUND_DOWN 等)。
列舉宣告
以下是 java.math.RoundingMode 列舉的宣告:
public enum RoundingMode extends Enum<RoundingMode>
常量
以下是 java.math.RoundingMode 列舉的常量:
CEILING - 向正無窮大舍入的舍入模式。
DOWN - 向零舍入的舍入模式。
FLOOR - 向負無窮大舍入的舍入模式。
HALF_DOWN - 向“最近鄰”舍入的舍入模式,除非兩個鄰近數等距,在這種情況下向下舍入。
HALF_EVEN - 向“最近鄰”舍入的舍入模式,除非兩個鄰近數等距,在這種情況下,向偶數鄰近數舍入。
HALF_UP - 向“最近鄰”舍入的舍入模式,除非兩個鄰近數等距,在這種情況下向上舍入。
UNNECESSARY - 斷言請求的操作具有精確結果,因此不需要舍入的舍入模式。
UP - 遠離零舍入的舍入模式。
列舉方法
序號 | 方法及描述 |
---|---|
1 | static RoundingMode valueOf(int rm) 此方法返回對應於 BigDecimal 中舊版整數舍入模式常量的 RoundingMode 物件。 |
2 | static RoundingMode valueOf(String name) 此方法返回具有指定名稱的此型別的列舉常量。 |
3 | static RoundingMode[ ] values() 此方法返回一個包含此列舉型別常量的陣列,按宣告順序排列。 |
示例
以下示例顯示了 math.RoundingMode 方法的用法。
package com.tutorialspoint; import java.math.*; public class RoundingModeDemo { public static void main(String[] args) { // create 2 RoundingMode objects RoundingMode rm1, rm2; // create and assign values to rm and name int rm = 5; String name = "UP"; // static methods are called using enum name // assign the the enum constant of rm to rm1 rm1 = RoundingMode.valueOf(rm); // assign the the enum constant of name to rm2 rm2 = RoundingMode.valueOf(name); String str1 = "Enum constant for integer " + rm + " is " +rm1; String str2 = "Enum constant for string " + name + " is " +rm2; // print rm1, rm2 values System.out.println( str1 ); System.out.println( str2 ); String str3 = "Enum constants of RoundingMode in order are :"; System.out.println( str3 ); // print the array of enum constatnts using for loop for (RoundingMode c : RoundingMode.values()) System.out.println(c); } }
讓我們編譯並執行上述程式,這將產生以下結果:
Enum constant for integer 5 is HALF_DOWN Enum constant for string UP is UP Enum constants of RoundingMode in order are : UP DOWN CEILING FLOOR HALF_UP HALF_DOWN HALF_EVEN UNNECESSARY