Class NumberInput

java.lang.Object
org.codehaus.jackson.io.NumberInput

public final class NumberInput extends Object
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    Textual representation of a double constant that can cause nasty problems with JDK (see http://www.exploringbinary.com/java-hangs-when-converting-2-2250738585072012e-308).
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static final boolean
    inLongRange(char[] digitChars, int offset, int len, boolean negative)
    Helper method for determining if given String representation of an integral number would fit in 64-bit Java long or not.
    static final boolean
    inLongRange(String numberStr, boolean negative)
    Similar to inLongRange(char[],int,int,boolean), but with String argument
    static double
    parseAsDouble(String input, double defaultValue)
     
    static int
    parseAsInt(String input, int defaultValue)
     
    static long
    parseAsLong(String input, long defaultValue)
     
    static final double
     
    static final int
    parseInt(char[] digitChars, int offset, int len)
    Fast method for parsing integers that are known to fit into regular 32-bit signed int type.
    static final int
    Helper method to (more) efficiently parse integer numbers from String values.
    static final long
    parseLong(char[] digitChars, int offset, int len)
     
    static final long
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • NASTY_SMALL_DOUBLE

      public static final String NASTY_SMALL_DOUBLE
      Textual representation of a double constant that can cause nasty problems with JDK (see http://www.exploringbinary.com/java-hangs-when-converting-2-2250738585072012e-308).
      See Also:
  • Constructor Details

    • NumberInput

      public NumberInput()
  • Method Details

    • parseInt

      public static final int parseInt(char[] digitChars, int offset, int len)
      Fast method for parsing integers that are known to fit into regular 32-bit signed int type. This means that length is between 1 and 9 digits (inclusive)

      Note: public to let unit tests call it

    • parseInt

      public static final int parseInt(String str)
      Helper method to (more) efficiently parse integer numbers from String values.
      Since:
      1.7
    • parseLong

      public static final long parseLong(char[] digitChars, int offset, int len)
    • parseLong

      public static final long parseLong(String str)
    • inLongRange

      public static final boolean inLongRange(char[] digitChars, int offset, int len, boolean negative)
      Helper method for determining if given String representation of an integral number would fit in 64-bit Java long or not. Note that input String must NOT contain leading minus sign (even if 'negative' is set to true).
      Parameters:
      negative - Whether original number had a minus sign (which is NOT passed to this method) or not
    • inLongRange

      public static final boolean inLongRange(String numberStr, boolean negative)
      Similar to inLongRange(char[],int,int,boolean), but with String argument
      Parameters:
      negative - Whether original number had a minus sign (which is NOT passed to this method) or not
      Since:
      1.5.0
    • parseAsInt

      public static int parseAsInt(String input, int defaultValue)
      Since:
      1.6
    • parseAsLong

      public static long parseAsLong(String input, long defaultValue)
      Since:
      1.6
    • parseAsDouble

      public static double parseAsDouble(String input, double defaultValue)
      Since:
      1.6
    • parseDouble

      public static final double parseDouble(String numStr) throws NumberFormatException
      Throws:
      NumberFormatException
      Since:
      1.8