Class NumberUtil


  • public class NumberUtil
    extends java.lang.Object
    Number- and math-related utilities.
    Since:
    2.3.20
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method 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.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • isInfinite

        public static boolean isInfinite​(java.lang.Number num)
      • isNaN

        public static boolean isNaN​(java.lang.Number num)
      • getSignum

        public static int getSignum​(java.lang.Number num)
                             throws java.lang.ArithmeticException
        Returns:
        -1 for negative, 0 for zero, 1 for positive.
        Throws:
        java.lang.ArithmeticException - if the number is NaN
      • isIntegerBigDecimal

        public static boolean isIntegerBigDecimal​(java.math.BigDecimal bd)
        Tells if a BigDecimal stores a whole number. For example, it returns true for 1.0000, but false for 1.0001.
        Since:
        2.3.21
      • hasTypeThatIsKnownToNotSupportInfiniteAndNaN

        public 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. If this returns false, that doesn't mean that it can do that, because it's maybe just that this utility doesn't know that type.
        Since:
        2.3.28
      • toIntExact

        public static int toIntExact​(java.lang.Number num)
        Converts a Number to int whose mathematical value is exactly the same as of the original number.
        Throws:
        java.lang.ArithmeticException - if the conversion to int is not possible without losing precision or overflow/underflow.
        Since:
        2.3.22