Class Numbers


  • public class Numbers
    extends Object
    Helper class for processing Groovy numeric literals.
    • Constructor Detail

      • Numbers

        public Numbers()
    • Method Detail

      • isDigit

        public static boolean isDigit​(char c)
        Returns true if the specified character is a base-10 digit.
      • isOctalDigit

        public static boolean isOctalDigit​(char c)
        Returns true if the specific character is a base-8 digit.
      • isHexDigit

        public static boolean isHexDigit​(char c)
        Returns true if the specified character is a base-16 digit.
      • isNumericTypeSpecifier

        public static boolean isNumericTypeSpecifier​(char c,
                                                     boolean isDecimal)
        Returns true if the specified character is a valid type specifier for a numeric value.
      • parseInteger

        public static Number parseInteger​(String text)
        Builds a Number from the given integer descriptor. Creates the narrowest type possible, or a specific type, if specified.
        Parameters:
        text - literal text to parse
        Returns:
        instantiated Number object
        Throws:
        NumberFormatException - if the number does not fit within the type requested by the type specifier suffix (invalid numbers don't make it here)
      • parseInteger

        @Deprecated
        public static Number parseInteger​(AST reportNode,
                                          String text)
        Deprecated.
        Builds a Number from the given integer descriptor. Creates the narrowest type possible, or a specific type, if specified.
        Parameters:
        reportNode - at node for error reporting in the parser
        text - literal text to parse
        Returns:
        instantiated Number object
        Throws:
        NumberFormatException - if the number does not fit within the type requested by the type specifier suffix (invalid numbers don't make it here)
      • parseDecimal

        public static Number parseDecimal​(String text)
        Builds a Number from the given decimal descriptor. Uses BigDecimal, unless, Double or Float is requested.
        Parameters:
        text - literal text to parse
        Returns:
        instantiated Number object
        Throws:
        NumberFormatException - if the number does not fit within the type requested by the type specifier suffix (invalid numbers don't make it here)