Package org.springframework.util
Class NumberUtils
- java.lang.Object
- org.springframework.util.NumberUtils
public abstract class NumberUtils extends Object
Miscellaneous utility methods for number conversion and parsing.Mainly for internal use within the framework; consider Apache's Commons Lang for a more comprehensive suite of number utilities.
- Since:
- 1.1.2
- Author:
- Juergen Hoeller, Rob Harrop
Field Summary
Fields Modifier and Type Field Description static Set<Class<?>>STANDARD_NUMBER_TYPESStandard number types (all immutable): Byte, Short, Integer, Long, BigInteger, Float, Double, BigDecimal.
Constructor Summary
Constructors Constructor Description NumberUtils()
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <T extends Number>
TconvertNumberToTargetClass(Number number, Class<T> targetClass)Convert the given number into an instance of the given target class.static <T extends Number>
TparseNumber(String text, Class<T> targetClass)Parse the giventextinto aNumberinstance of the given target class, using the correspondingdecode/valueOfmethod.static <T extends Number>
TparseNumber(String text, Class<T> targetClass, NumberFormat numberFormat)Parse the giventextinto aNumberinstance of the given target class, using the suppliedNumberFormat.
Field Detail
STANDARD_NUMBER_TYPES
public static final Set<Class<?>> STANDARD_NUMBER_TYPES
Standard number types (all immutable): Byte, Short, Integer, Long, BigInteger, Float, Double, BigDecimal.
Constructor Detail
NumberUtils
public NumberUtils()
Method Detail
convertNumberToTargetClass
public static <T extends Number> T convertNumberToTargetClass(Number number, Class<T> targetClass) throws IllegalArgumentException
Convert the given number into an instance of the given target class.- Parameters:
number- the number to converttargetClass- the target class to convert to- Returns:
- the converted number
- Throws:
IllegalArgumentException- if the target class is not supported (i.e. not a standard Number subclass as included in the JDK)- See Also:
Byte,Short,Integer,Long,BigInteger,Float,Double,BigDecimal
parseNumber
public static <T extends Number> T parseNumber(String text, Class<T> targetClass)
Parse the giventextinto aNumberinstance of the given target class, using the correspondingdecode/valueOfmethod.Trims the input
Stringbefore attempting to parse the number.Supports numbers in hex format (with leading "0x", "0X", or "#") as well.
- Parameters:
text- the text to converttargetClass- the target class to parse into- Returns:
- the parsed number
- Throws:
IllegalArgumentException- if the target class is not supported (i.e. not a standard Number subclass as included in the JDK)- See Also:
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(String)
parseNumber
public static <T extends Number> T parseNumber(String text, Class<T> targetClass, NumberFormat numberFormat)
Parse the giventextinto aNumberinstance of the given target class, using the suppliedNumberFormat.Trims the input
Stringbefore attempting to parse the number.- Parameters:
text- the text to converttargetClass- the target class to parse intonumberFormat- theNumberFormatto use for parsing (ifnull, this method falls back toparseNumber(String, Class))- Returns:
- the parsed number
- Throws:
IllegalArgumentException- if the target class is not supported (i.e. not a standard Number subclass as included in the JDK)- See Also:
NumberFormat.parse(java.lang.String, java.text.ParsePosition),convertNumberToTargetClass(java.lang.Number, java.lang.Class<T>),parseNumber(String, Class)