com.fasterxml.jackson.core.io

## Class NumberInput

- java.lang.Object
- - com.fasterxml.jackson.core.io.NumberInput

    public final class NumberInput
    extends Object

### Field Summary

Fields
`static 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).

### Constructor Summary

Constructors
Constructor and Description
`NumberInput()`

### Method Summary

Methods
`static 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 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 double` `parseDouble(String numStr)`
`static 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 int` `parseInt(String str)` Helper method to (more) efficiently parse integer numbers from String values.
`static long` `parseLong(char[] digitChars, int offset, int len)`
`static long` `parseLong(String str)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### 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:
  Constant Field Values

### Constructor Detail

#### NumberInput

    public NumberInput()

### Method Detail

#### parseInt

    public static 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 int parseInt(String str)

Helper method to (more) efficiently parse integer numbers from String values.

#### parseLong

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

#### parseLong

    public static long parseLong(String str)

#### inLongRange

    public static 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 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

#### parseAsInt

    public static int parseAsInt(String input,
                 int defaultValue)

#### parseAsLong

    public static long parseAsLong(String input,
                   long defaultValue)

#### parseAsDouble

    public static double parseAsDouble(String input,
                       double defaultValue)

#### parseDouble

    public static double parseDouble(String numStr)
                              throws NumberFormatException

Throws:
  `NumberFormatException`