Package org.springframework.util
Class NumberUtils
java.lang.Object
org.springframework.util.NumberUtils
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
Modifier and TypeFieldDescriptionStandard number types (all immutable): Byte, Short, Integer, Long, BigInteger, Float, Double, BigDecimal. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic <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 giventext
into aNumber
instance of the given target class, using the correspondingdecode
/valueOf
method.static <T extends Number>
TparseNumber
(String text, Class<T> targetClass, NumberFormat numberFormat) Parse the giventext
into aNumber
instance of the given target class, using the suppliedNumberFormat
.
-
Field Details
-
STANDARD_NUMBER_TYPES
Standard number types (all immutable): Byte, Short, Integer, Long, BigInteger, Float, Double, BigDecimal.
-
-
Constructor Details
-
NumberUtils
public NumberUtils()
-
-
Method Details
-
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:
-
parseNumber
Parse the giventext
into aNumber
instance of the given target class, using the correspondingdecode
/valueOf
method.Trims all whitespace (leading, trailing, and in between characters) from the input
String
before 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:
-
parseNumber
public static <T extends Number> T parseNumber(String text, Class<T> targetClass, @Nullable NumberFormat numberFormat) Parse the giventext
into aNumber
instance of the given target class, using the suppliedNumberFormat
.Trims the input
String
before attempting to parse the number.- Parameters:
text
- the text to converttargetClass
- the target class to parse intonumberFormat
- theNumberFormat
to 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:
-