📅  最后修改于: 2020-11-14 06:01:24             🧑  作者: Mango
java.math.RoundingMode枚举为能够舍弃精度的数值运算指定舍入行为。每个舍入模式指示如何计算舍入结果的最低有效位。
如果返回的位数少于表示精确数值结果所需的位数,则无论这些位数对数值的贡献如何,废弃的位数都将称为废弃分数。换句话说,被认为是数值的废弃分数的绝对值可以大于一。
此枚举旨在替换BigDecimal中的基于整数的舍入模式常量(BigDecimal.ROUND_UP,BigDecimal.ROUND_DOWN等)。
以下是java.math.RoundingMode枚举的声明-
public enum RoundingMode
extends Enum
以下是java.math.RoundingMode枚举的常量-
上限-舍入模式向正无穷大舍入。
向下-舍入模式向零舍入。
FLOOR-舍入模式向负无穷大舍入。
HALF_DOWN-舍入模式向“最近的邻居”舍入,除非两个邻居都等距,在这种情况下舍入。
HALF_EVEN-舍入模式将舍入到“最近的邻居”,除非两个邻居都等距,在这种情况下,将舍入到偶数邻居。
HALF_UP-舍入模式向“最近的邻居”舍入,除非两个邻居都等距,在这种情况下舍入。
不必要-舍入模式可以断言所请求的操作具有准确的结果,因此不需要舍入。
向上-舍入模式从零舍入。
Sr.No. | Method & Description |
---|---|
1 |
static RoundingMode valueOf(int rm) This method returns the RoundingMode object corresponding to a legacy integer rounding mode constant in BigDecimal. |
2 |
static RoundingMode valueOf(String name) This method returns the enum constant of this type with the specified name. |
3 |
static RoundingMode[ ] values() This method returns an array containing the constants of this enum type, in the order they are declared. |
以下示例显示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