Class NumberUtil


  • public final class NumberUtil
    extends Object
    Helper class that contains method for converting numeric values to and from String representations.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int MAX_DOUBLE_CLEN
      Maximum number of characters in a serialized double is 26 (at least for Sun JDK; 19 digits for mantissa, 3 for exponent, signs for mantissa and exponent, decimal point, 'E'): but let's pad it up a little bit just to play it safe.
      static int MAX_FLOAT_CLEN
      JDK serializes floats same way as doubles, so let's reserve as much space
      static int MAX_INT_CLEN
      Maximum number of characters in a serialized integer is 11; one for (minus) sign, and then up to 10 digits
      static int MAX_LONG_CLEN
      Maximum number of characters in a serialized long is 21; one for (minus) sign, and then up to 20 digits
    • Constructor Summary

      Constructors 
      Constructor Description
      NumberUtil()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static int writeDouble​(double value, byte[] buffer, int offset)  
      static int writeDouble​(double value, char[] buffer, int offset)  
      static int writeFloat​(float value, byte[] buffer, int offset)  
      static int writeFloat​(float value, char[] buffer, int offset)  
      static int writeInt​(int value, byte[] buffer, int offset)  
      static int writeInt​(int value, char[] buffer, int offset)
      Note: caller must ensure that there is room for least 11 characters (leading sign, and up to 10 digits) in buffer passed.
      static int writeLong​(long value, byte[] buffer, int offset)  
      static int writeLong​(long value, char[] buffer, int offset)
      Note: caller must ensure that there is room for least 21 characters (leading sign, and up to 20 digits ) in buffer passed.
    • Field Detail

      • MAX_INT_CLEN

        public static final int MAX_INT_CLEN
        Maximum number of characters in a serialized integer is 11; one for (minus) sign, and then up to 10 digits
        See Also:
        Constant Field Values
      • MAX_LONG_CLEN

        public static final int MAX_LONG_CLEN
        Maximum number of characters in a serialized long is 21; one for (minus) sign, and then up to 20 digits
        See Also:
        Constant Field Values
      • MAX_DOUBLE_CLEN

        public static final int MAX_DOUBLE_CLEN
        Maximum number of characters in a serialized double is 26 (at least for Sun JDK; 19 digits for mantissa, 3 for exponent, signs for mantissa and exponent, decimal point, 'E'): but let's pad it up a little bit just to play it safe.
        See Also:
        Constant Field Values
      • MAX_FLOAT_CLEN

        public static final int MAX_FLOAT_CLEN
        JDK serializes floats same way as doubles, so let's reserve as much space
        See Also:
        Constant Field Values
    • Constructor Detail

      • NumberUtil

        public NumberUtil()
    • Method Detail

      • writeInt

        public static int writeInt​(int value,
                                   char[] buffer,
                                   int offset)

        Note: caller must ensure that there is room for least 11 characters (leading sign, and up to 10 digits) in buffer passed.

        Returns:
        Offset within buffer after outputting int
      • writeInt

        public static int writeInt​(int value,
                                   byte[] buffer,
                                   int offset)
      • writeLong

        public static int writeLong​(long value,
                                    char[] buffer,
                                    int offset)

        Note: caller must ensure that there is room for least 21 characters (leading sign, and up to 20 digits ) in buffer passed.

        Returns:
        Offset within buffer after outputting int
      • writeLong

        public static int writeLong​(long value,
                                    byte[] buffer,
                                    int offset)
      • writeFloat

        public static int writeFloat​(float value,
                                     char[] buffer,
                                     int offset)
      • writeFloat

        public static int writeFloat​(float value,
                                     byte[] buffer,
                                     int offset)
      • writeDouble

        public static int writeDouble​(double value,
                                      char[] buffer,
                                      int offset)
      • writeDouble

        public static int writeDouble​(double value,
                                      byte[] buffer,
                                      int offset)