public abstract class NumberUtils extends Object
Mainly for internal use within the framework; consider Apache's Commons Lang for a more comprehensive suite of number utilities.
| Modifier and Type | Field and Description |
|---|---|
static Set<Class<?>> |
STANDARD_NUMBER_TYPES
Standard number types (all immutable):
Byte, Short, Integer, Long, BigInteger, Float, Double, BigDecimal.
|
| Constructor and Description |
|---|
NumberUtils() |
| Modifier and Type | Method and Description |
|---|---|
static <T extends Number> |
convertNumberToTargetClass(Number number,
Class<T> targetClass)
Convert the given number into an instance of the given target class.
|
static <T extends Number> |
parseNumber(String text,
Class<T> targetClass)
Parse the given
text into a Number instance of the given
target class, using the corresponding decode / valueOf method. |
static <T extends Number> |
parseNumber(String text,
Class<T> targetClass,
NumberFormat numberFormat)
Parse the given
text into a Number instance of the
given target class, using the supplied NumberFormat. |
public static <T extends Number> T convertNumberToTargetClass(Number number, Class<T> targetClass) throws IllegalArgumentException
number - the number to converttargetClass - the target class to convert toIllegalArgumentException - 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,
BigDecimalpublic static <T extends Number> T parseNumber(String text, Class<T> targetClass)
text into a Number instance of the given
target class, using the corresponding decode / valueOf method.
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 intoIllegalArgumentException - 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 Number> T parseNumber(String text, Class<T> targetClass, NumberFormat numberFormat)
text into a Number instance of the
given target class, using the supplied NumberFormat.
Trims the input 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))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)