Package com.fasterxml.jackson.core.io
Class NumberInput
- java.lang.Object
-
- com.fasterxml.jackson.core.io.NumberInput
-
public final class NumberInput extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringNASTY_SMALL_DOUBLETextual 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 booleaninLongRange(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 booleaninLongRange(java.lang.String s, boolean negative)Similar toinLongRange(char[],int,int,boolean), but with String argumentstatic doubleparseAsDouble(java.lang.String s, double def)static intparseAsInt(java.lang.String s, int def)static longparseAsLong(java.lang.String s, long def)static java.math.BigDecimalparseBigDecimal(char[] b)static java.math.BigDecimalparseBigDecimal(char[] b, int off, int len)static java.math.BigDecimalparseBigDecimal(java.lang.String s)static doubleparseDouble(java.lang.String s)static intparseInt(char[] ch, int off, int len)Fast method for parsing integers that are known to fit into regular 32-bit signed int type.static intparseInt(java.lang.String s)Helper method to (more) efficiently parse integer numbers from String values.static longparseLong(char[] ch, int off, int len)static longparseLong(java.lang.String s)
-
-
-
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
-
-
Method Detail
-
parseInt
public static int parseInt(char[] ch, int off, 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(java.lang.String s)
Helper method to (more) efficiently parse integer numbers from String values.
-
parseLong
public static long parseLong(char[] ch, int off, int len)
-
parseLong
public static long parseLong(java.lang.String s)
-
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:
negative- Whether original number had a minus sign (which is NOT passed to this method) or not
-
inLongRange
public static boolean inLongRange(java.lang.String s, boolean negative)Similar toinLongRange(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(java.lang.String s, int def)
-
parseAsLong
public static long parseAsLong(java.lang.String s, long def)
-
parseAsDouble
public static double parseAsDouble(java.lang.String s, double def)
-
parseDouble
public static double parseDouble(java.lang.String s) throws java.lang.NumberFormatException- Throws:
java.lang.NumberFormatException
-
parseBigDecimal
public static java.math.BigDecimal parseBigDecimal(java.lang.String s) throws java.lang.NumberFormatException- Throws:
java.lang.NumberFormatException
-
parseBigDecimal
public static java.math.BigDecimal parseBigDecimal(char[] b) throws java.lang.NumberFormatException- Throws:
java.lang.NumberFormatException
-
parseBigDecimal
public static java.math.BigDecimal parseBigDecimal(char[] b, int off, int len) throws java.lang.NumberFormatException- Throws:
java.lang.NumberFormatException
-
-