public final class NumberInput
extends java.lang.Object
NOTE! Does NOT validate against maximum length limits: caller must do that if and as necessary.
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
NASTY_SMALL_DOUBLE
Deprecated.
Since 2.14 -- do not use
|
| Constructor and Description |
|---|
NumberInput() |
| 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(java.lang.String s,
boolean negative)
Similar to
inLongRange(char[],int,int,boolean), but
with String argument |
static double |
parseAsDouble(java.lang.String s,
double def) |
static double |
parseAsDouble(java.lang.String s,
double def,
boolean useFastParser) |
static int |
parseAsInt(java.lang.String s,
int def) |
static long |
parseAsLong(java.lang.String s,
long def) |
static java.math.BigDecimal |
parseBigDecimal(char[] ch) |
static java.math.BigDecimal |
parseBigDecimal(char[] ch,
boolean useFastParser) |
static java.math.BigDecimal |
parseBigDecimal(char[] ch,
int off,
int len) |
static java.math.BigDecimal |
parseBigDecimal(char[] ch,
int off,
int len,
boolean useFastParser) |
static java.math.BigDecimal |
parseBigDecimal(java.lang.String s) |
static java.math.BigDecimal |
parseBigDecimal(java.lang.String s,
boolean useFastParser) |
static java.math.BigInteger |
parseBigInteger(java.lang.String s) |
static java.math.BigInteger |
parseBigInteger(java.lang.String s,
boolean useFastParser) |
static java.math.BigInteger |
parseBigIntegerWithRadix(java.lang.String s,
int radix,
boolean useFastParser) |
static double |
parseDouble(java.lang.String s) |
static double |
parseDouble(java.lang.String s,
boolean useFastParser) |
static float |
parseFloat(java.lang.String s) |
static float |
parseFloat(java.lang.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(java.lang.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(java.lang.String s)
Similar to
parseInt(String) but for long values. |
static long |
parseLong19(char[] ch,
int off,
boolean negative)
Parses an unsigned long made up of exactly 19 digits.
|
@Deprecated public static final java.lang.String NASTY_SMALL_DOUBLE
public static int parseInt(char[] ch,
int off,
int len)
Note: public to let unit tests call it; not meant to be used by any code outside this package.
ch - Buffer that contains integer value to decodeoff - Offset of the first digit character in bufferlen - Length of the number to decode (in characters)int valuepublic static int parseInt(java.lang.String s)
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).
s - String that contains integer value to decodeint valuepublic static long parseLong(char[] ch,
int off,
int len)
public static long parseLong19(char[] ch,
int off,
boolean negative)
It is the callers responsibility to make sure the input is exactly 19 digits.
and fits into a 64bit long by calling inLongRange(char[], int, int, boolean)
first.
Note that input String must NOT contain leading minus sign (even
if negative is set to true).
ch - Buffer that contains integer value to decodeoff - Offset of the first digit character in buffernegative - Whether original number had a minus signlong valuepublic static long parseLong(java.lang.String s)
parseInt(String) but for long values.s - String that contains long value to decodelong valuepublic static boolean inLongRange(char[] ch,
int off,
int len,
boolean negative)
ch - Buffer that contains long value to checkoff - Offset of the first digit character in bufferlen - Length of the number to decode (in characters)negative - Whether original number had a minus sign (which is
NOT passed to this method) or notTrue if specified String representation is within Java
long range; false if not.public static boolean inLongRange(java.lang.String s,
boolean negative)
inLongRange(char[],int,int,boolean), but
with String arguments - String that contains long value to checknegative - Whether original number had a minus sign (which is
NOT passed to this method) or notTrue if specified String representation is within Java
long range; false if not.public static int parseAsInt(java.lang.String s,
int def)
public static long parseAsLong(java.lang.String s,
long def)
public static double parseAsDouble(java.lang.String s,
double def)
s - a string representing a number to parsedef - the default to return if `s` is not a parseable numberparseAsDouble(String, double, boolean)public static double parseAsDouble(java.lang.String s,
double def,
boolean useFastParser)
s - a string representing a number to parsedef - the default to return if `s` is not a parseable numberuseFastParser - whether to use FastDoubleParserpublic static double parseDouble(java.lang.String s)
throws java.lang.NumberFormatException
s - a string representing a number to parsejava.lang.NumberFormatException - if string cannot be represented by a double where useFastParser=falseparseDouble(String, boolean)public static double parseDouble(java.lang.String s,
boolean useFastParser)
throws java.lang.NumberFormatException
s - a string representing a number to parseuseFastParser - whether to use FastDoubleParserjava.lang.NumberFormatException - if string cannot be represented by a doublepublic static float parseFloat(java.lang.String s)
throws java.lang.NumberFormatException
s - a string representing a number to parsejava.lang.NumberFormatException - if string cannot be represented by a float where useFastParser=falseparseFloat(String, boolean)public static float parseFloat(java.lang.String s,
boolean useFastParser)
throws java.lang.NumberFormatException
s - a string representing a number to parseuseFastParser - whether to use FastDoubleParserjava.lang.NumberFormatException - if string cannot be represented by a floatpublic static java.math.BigDecimal parseBigDecimal(java.lang.String s)
throws java.lang.NumberFormatException
s - a string representing a number to parsejava.lang.NumberFormatException - if the char array cannot be represented by a BigDecimalpublic static java.math.BigDecimal parseBigDecimal(java.lang.String s,
boolean useFastParser)
throws java.lang.NumberFormatException
s - a string representing a number to parseuseFastParser - whether to use custom fast parser (true) or JDK default (false) parserjava.lang.NumberFormatException - if the char array cannot be represented by a BigDecimalpublic static java.math.BigDecimal parseBigDecimal(char[] ch,
int off,
int len)
throws java.lang.NumberFormatException
ch - a char array with text that makes up a numberoff - the offset to apply when parsing the number in the char arraylen - the length of the number in the char arrayjava.lang.NumberFormatException - if the char array cannot be represented by a BigDecimalpublic static java.math.BigDecimal parseBigDecimal(char[] ch,
int off,
int len,
boolean useFastParser)
throws java.lang.NumberFormatException
ch - a char array with text that makes up a numberoff - the offset to apply when parsing the number in the char arraylen - the length of the number in the char arrayuseFastParser - whether to use custom fast parser (true) or JDK default (false) parserjava.lang.NumberFormatException - if the char array cannot be represented by a BigDecimalpublic static java.math.BigDecimal parseBigDecimal(char[] ch)
throws java.lang.NumberFormatException
ch - a char array with text that makes up a numberjava.lang.NumberFormatException - if the char array cannot be represented by a BigDecimalpublic static java.math.BigDecimal parseBigDecimal(char[] ch,
boolean useFastParser)
throws java.lang.NumberFormatException
ch - a char array with text that makes up a numberuseFastParser - whether to use custom fast parser (true) or JDK default (false) parserjava.lang.NumberFormatException - if the char array cannot be represented by a BigDecimalpublic static java.math.BigInteger parseBigInteger(java.lang.String s)
throws java.lang.NumberFormatException
s - a string representing a number to parsejava.lang.NumberFormatException - if string cannot be represented by a BigIntegerpublic static java.math.BigInteger parseBigInteger(java.lang.String s,
boolean useFastParser)
throws java.lang.NumberFormatException
s - a string representing a number to parseuseFastParser - whether to use custom fast parser (true) or JDK default (false) parserjava.lang.NumberFormatException - if string cannot be represented by a BigIntegerpublic static java.math.BigInteger parseBigIntegerWithRadix(java.lang.String s,
int radix,
boolean useFastParser)
throws java.lang.NumberFormatException
s - a string representing a number to parseradix - for parseuseFastParser - whether to use custom fast parser (true) or JDK default (false) parserjava.lang.NumberFormatException - if string cannot be represented by a BigIntegerCopyright © 2010 - 2024 Adobe. All Rights Reserved