public class NumberUtil
extends java.lang.Object
| Modifier and Type | Method and Description |
|---|---|
static int |
getSignum(java.lang.Number num) |
static boolean |
hasTypeThatIsKnownToNotSupportInfiniteAndNaN(java.lang.Number num)
Tells if the type of the parameter number is known to not be able to represent infinite (positive or negative)
and NaN.
|
static boolean |
isInfinite(java.lang.Number num) |
static boolean |
isIntegerBigDecimal(java.math.BigDecimal bd)
Tells if a
BigDecimal stores a whole number. |
static boolean |
isNaN(java.lang.Number num) |
static int |
toIntExact(java.lang.Number num)
Converts a
Number to int whose mathematical value is exactly the same as of the original number. |
public static boolean isInfinite(java.lang.Number num)
public static boolean isNaN(java.lang.Number num)
public static int getSignum(java.lang.Number num)
throws java.lang.ArithmeticException
java.lang.ArithmeticException - if the number is NaNpublic static boolean isIntegerBigDecimal(java.math.BigDecimal bd)
BigDecimal stores a whole number. For example, it returns true for 1.0000,
but false for 1.0001.public static boolean hasTypeThatIsKnownToNotSupportInfiniteAndNaN(java.lang.Number num)
false, that doesn't mean that it can do that, because it's maybe just that this
utility doesn't know that type.public static int toIntExact(java.lang.Number num)
Number to int whose mathematical value is exactly the same as of the original number.java.lang.ArithmeticException - if the conversion to int is not possible without losing precision or overflow/underflow.