public abstract class NumberUtils
extends java.lang.Object
| Constructor and Description |
|---|
NumberUtils() |
| Modifier and Type | Method and Description |
|---|---|
static <T extends java.lang.Number> |
convertNumberToTargetClass(java.lang.Number number,
java.lang.Class<T> targetClass)
Convert the given number into an instance of the given target class.
|
private static java.math.BigInteger |
decodeBigInteger(java.lang.String value)
Decode a
BigInteger from a String value. |
private static boolean |
isHexNumber(java.lang.String value)
Determine whether the given value String indicates a hex number, i.e.
|
static <T extends java.lang.Number> |
parseNumber(java.lang.String text,
java.lang.Class<T> targetClass)
Parse the given text into a number instance of the given target class,
using the corresponding
decode / valueOf methods. |
static <T extends java.lang.Number> |
parseNumber(java.lang.String text,
java.lang.Class<T> targetClass,
java.text.NumberFormat numberFormat)
Parse the given text into a number instance of the given target class,
using the given NumberFormat.
|
private static void |
raiseOverflowException(java.lang.Number number,
java.lang.Class targetClass)
Raise an overflow exception for the given number and target class.
|
public static <T extends java.lang.Number> T convertNumberToTargetClass(java.lang.Number number,
java.lang.Class<T> targetClass)
throws java.lang.IllegalArgumentException
number - the number to converttargetClass - the target class to convert tojava.lang.IllegalArgumentException - if the target class is not supported
(i.e. not a standard Number subclass as included in the JDK)Byte,
Short,
Integer,
Long,
BigInteger,
Float,
Double,
BigDecimalprivate static void raiseOverflowException(java.lang.Number number,
java.lang.Class targetClass)
number - the number we tried to converttargetClass - the target class we tried to convert topublic static <T extends java.lang.Number> T parseNumber(java.lang.String text,
java.lang.Class<T> targetClass)
decode / valueOf methods.
Trims the input String before attempting to parse the number.
Supports numbers in hex format (with leading "0x", "0X" or "#") as well.
text - the text to converttargetClass - the target class to parse intojava.lang.IllegalArgumentException - if the target class is not supported
(i.e. not a standard Number subclass as included in the JDK)Byte.decode(java.lang.String),
Short.decode(java.lang.String),
Integer.decode(java.lang.String),
Long.decode(java.lang.String),
decodeBigInteger(String),
Float.valueOf(java.lang.String),
Double.valueOf(java.lang.String),
BigDecimal.BigDecimal(String)public static <T extends java.lang.Number> T parseNumber(java.lang.String text,
java.lang.Class<T> targetClass,
java.text.NumberFormat numberFormat)
String
before attempting to parse the number.text - the text to converttargetClass - the target class to parse intonumberFormat - the NumberFormat to use for parsing (if null,
this method falls back to parseNumber(String, Class))java.lang.IllegalArgumentException - if the target class is not supported
(i.e. not a standard Number subclass as included in the JDK)NumberFormat.parse(java.lang.String, java.text.ParsePosition),
convertNumberToTargetClass(java.lang.Number, java.lang.Class<T>),
parseNumber(String, Class)private static boolean isHexNumber(java.lang.String value)
Integer.decode instead of Integer.valueOf (etc).private static java.math.BigInteger decodeBigInteger(java.lang.String value)
BigInteger from a String value.
Supports decimal, hex and octal notation.BigInteger.BigInteger(String, int)