Class NumberInput
- java.lang.Object
-
- com.fasterxml.jackson.dataformat.csv.impl.NumberInput
-
public final class NumberInput extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description (package private) static long
L_BILLION
Constants needed for parsing longs from basic int parsing methods(package private) static java.lang.String
MAX_LONG_STR
(package private) static java.lang.String
MIN_LONG_STR_NO_SIGN
static java.lang.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 Description NumberInput()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description 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 double
parseDouble(java.lang.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 long
parseLong(char[] digitChars, int offset, int len)
-
-
-
Field Detail
-
NASTY_SMALL_DOUBLE
public static final java.lang.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
-
L_BILLION
static final long L_BILLION
Constants needed for parsing longs from basic int parsing methods- See Also:
- Constant Field Values
-
MIN_LONG_STR_NO_SIGN
static final java.lang.String MIN_LONG_STR_NO_SIGN
-
MAX_LONG_STR
static final java.lang.String MAX_LONG_STR
-
-
Method Detail
-
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
-
parseLong
public static final long parseLong(char[] digitChars, int offset, int len)
-
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
-
parseDouble
public static final double parseDouble(java.lang.String numStr) throws java.lang.NumberFormatException
- Throws:
java.lang.NumberFormatException
-
-