NumberInput (Jackson-core 2.14.0 API)

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
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `NASTY_SMALL_DOUBLE` Deprecated. Since 2.14 -- do not use

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `NumberInput()`

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static boolean` | `inLongRange(char[] ch, int off, 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 s, boolean negative)` Similar to `inLongRange(char[],int,int,boolean)`, but with String argument
    `static double` | `parseAsDouble(String s, double def)`
    `static double` | `parseAsDouble(String s, double def, boolean useFastParser)`
    `static int` | `parseAsInt(String s, int def)`
    `static long` | `parseAsLong(String s, long def)`
    `static BigDecimal` | `parseBigDecimal(char[] ch)`
    `static BigDecimal` | `parseBigDecimal(char[] ch, int off, int len)`
    `static BigDecimal` | `parseBigDecimal(String s)`
    `static BigInteger` | `parseBigInteger(String s)`
    `static double` | `parseDouble(String s)`
    `static double` | `parseDouble(String s, boolean useFastParser)`
    `static float` | `parseFloat(String s)`
    `static float` | `parseFloat(String s, boolean useFastParser)`
    `static int` | `parseInt(char[] ch, int off, int len)` Fast method for parsing unsigned integers that are known to fit into regular 32-bit signed int type.
    `static int` | `parseInt(String s)` Helper method to (more) efficiently parse integer numbers from String values.
    `static long` | `parseLong(char[] ch, int off, int len)`
    `static long` | `parseLong(String s)` Similar to `parseInt(String)` but for `long` values.

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

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

- - ### Field Detail

    - #### NASTY_SMALL_DOUBLE

          @Deprecated
          public static final String NASTY_SMALL_DOUBLE

      Deprecated. Since 2.14 -- do not use
      Formerly used constant for a value that was problematic on certain pre-1.8 JDKs.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### NumberInput

          public NumberInput()

  - ### Method Detail

    - #### parseInt

          public static int parseInt(char[] ch,
                                     int off,
                                     int len)

      Fast method for parsing unsigned integers that are known to fit into regular 32-bit signed int type. This means that length is between 1 and 9 digits (inclusive) and there is no sign character.

      Note: public to let unit tests call it; not meant to be used by any code outside this package.

      Parameters:
        `ch` - Buffer that contains integer value to decode
        `off` - Offset of the first digit character in buffer
        `len` - Length of the number to decode (in characters)
      Returns:
        Decoded `int` value

    - #### parseInt

          public static int parseInt(String s)

      Helper method to (more) efficiently parse integer numbers from String values. Input String must be simple Java integer value. No range checks are made to verify that the value fits in 32-bit Java `int`: caller is expected to only calls this in cases where this can be guaranteed (basically: number of digits does not exceed 9)

      NOTE: semantics differ significantly from `parseInt(char[], int, int)`.

      Parameters:
        `s` - String that contains integer value to decode
      Returns:
        Decoded `int` value

    - #### parseLong

          public static long parseLong(char[] ch,
                                       int off,
                                       int len)

    - #### parseLong

          public static long parseLong(String s)

      Similar to `parseInt(String)` but for `long` values.
      Parameters:
        `s` - String that contains `long` value to decode
      Returns:
        Decoded `long` value

    - #### inLongRange

          public static boolean inLongRange(char[] ch,
                                            int off,
                                            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:
        `ch` - Buffer that contains long value to check
        `off` - Offset of the first digit character in buffer
        `len` - Length of the number to decode (in characters)
        `negative` - Whether original number had a minus sign (which is NOT passed to this method) or not
      Returns:
        `True` if specified String representation is within Java `long` range; `false` if not.

    - #### inLongRange

          public static boolean inLongRange(String s,
                                            boolean negative)

      Similar to `inLongRange(char[],int,int,boolean)`, but with String argument
      Parameters:
        `s` - String that contains `long` value to check
        `negative` - Whether original number had a minus sign (which is NOT passed to this method) or not
      Returns:
        `True` if specified String representation is within Java `long` range; `false` if not.

    - #### parseAsInt

          public static int parseAsInt(String s,
                                       int def)

    - #### parseAsLong

          public static long parseAsLong(String s,
                                         long def)

    - #### parseAsDouble

          public static double parseAsDouble(String s,
                                             double def)

      Parameters:
        `s` - a string representing a number to parse
        `def` - the default to return if `s` is not a parseable number
      Returns:
        closest matching double (or `def` if there is an issue with `s`) where useFastParser=false
      See Also:
        `parseAsDouble(String, double, boolean)`

    - #### parseAsDouble

          public static double parseAsDouble(String s,
                                             double def,
                                             boolean useFastParser)

      Parameters:
        `s` - a string representing a number to parse
        `def` - the default to return if `s` is not a parseable number
        `useFastParser` - whether to use `com.fasterxml.jackson.core.io.doubleparser`
      Returns:
        closest matching double (or `def` if there is an issue with `s`)
      Since:
        2.14

    - #### parseDouble

          public static double parseDouble(String s)
                                    throws NumberFormatException

      Parameters:
        `s` - a string representing a number to parse
      Returns:
        closest matching double
      Throws:
        `NumberFormatException` - if string cannot be represented by a double where useFastParser=false
      See Also:
        `parseDouble(String, boolean)`

    - #### parseDouble

          public static double parseDouble(String s,
                                           boolean useFastParser)
                                    throws NumberFormatException

      Parameters:
        `s` - a string representing a number to parse
        `useFastParser` - whether to use `com.fasterxml.jackson.core.io.doubleparser`
      Returns:
        closest matching double
      Throws:
        `NumberFormatException` - if string cannot be represented by a double
      Since:
        v2.14

    - #### parseFloat

          public static float parseFloat(String s)
                                  throws NumberFormatException

      Parameters:
        `s` - a string representing a number to parse
      Returns:
        closest matching float
      Throws:
        `NumberFormatException` - if string cannot be represented by a float where useFastParser=false
      Since:
        v2.14
      See Also:
        `parseFloat(String, boolean)`

    - #### parseFloat

          public static float parseFloat(String s,
                                         boolean useFastParser)
                                  throws NumberFormatException

      Parameters:
        `s` - a string representing a number to parse
        `useFastParser` - whether to use `com.fasterxml.jackson.core.io.doubleparser`
      Returns:
        closest matching float
      Throws:
        `NumberFormatException` - if string cannot be represented by a float
      Since:
        v2.14

    - #### parseBigDecimal

          public static BigDecimal parseBigDecimal(String s)
                                            throws NumberFormatException

      Throws:
        `NumberFormatException`

    - #### parseBigDecimal

          public static BigDecimal parseBigDecimal(char[] ch,
                                                   int off,
                                                   int len)
                                            throws NumberFormatException

      Throws:
        `NumberFormatException`

    - #### parseBigDecimal

          public static BigDecimal parseBigDecimal(char[] ch)
                                            throws NumberFormatException

      Throws:
        `NumberFormatException`

    - #### parseBigInteger

          public static BigInteger parseBigInteger(String s)
                                            throws NumberFormatException

      Parameters:
        `s` - a string representing a number to parse
      Returns:
        a BigInteger
      Throws:
        `NumberFormatException` - if string cannot be represented by a BigInteger
      Since:
        v2.14

Copyright © 2008–2022 FasterXML. All rights reserved.