public class FormattedStringToNumber extends StringToObject
DecimalFormat
instance returned by calling
NumberFormat.getInstance(Locale)
by default. This instance supports parsing any number type generally and
will not perform special type-specific logic such as rounding or truncation. Subclasses may override.
Will coerse parsed Numbers to the desired numberClass as necessary. If type-coersion results in an overflow
condition; for example, what can occur with a Long being coersed to a Short, an exception will be thrown.NumberFormat
,
DecimalFormat
Constructor and Description |
---|
FormattedStringToNumber() |
FormattedStringToNumber(java.lang.Class<? extends java.lang.Number> numberClass) |
Modifier and Type | Method and Description |
---|---|
protected java.lang.Number |
convertToNumberClass(java.lang.Number number,
java.lang.Class<? extends java.lang.Number> numberClass)
Coerces the Number object returned by NumberFormat to the desired numberClass.
|
boolean |
getLenient()
If this Converter is "lenient" in parsing number strings.
|
void |
setLenient(boolean lenient)
Sets if this Converter should parse leniently.
|
void |
setNumberFormatFactory(NumberFormatFactory numberFormatFactory)
Sets the factory that returns the
NumberFormat instance that will format numbers handled by this
converter. |
protected java.lang.Object |
toObject(java.lang.String string,
java.lang.Class<?> targetClass) |
protected java.lang.String |
toString(java.lang.Object object) |
convertSourceToTargetClass, convertTargetToSourceClass, getSourceClass, getTargetClass
public FormattedStringToNumber()
public FormattedStringToNumber(java.lang.Class<? extends java.lang.Number> numberClass)
public void setNumberFormatFactory(NumberFormatFactory numberFormatFactory)
NumberFormat
instance that will format numbers handled by this
converter.numberFormatFactory
- the number format factorypublic boolean getLenient()
public void setLenient(boolean lenient)
lenient
- the lenient flagprotected java.lang.Object toObject(java.lang.String string, java.lang.Class<?> targetClass) throws java.lang.Exception
toObject
in class StringToObject
java.lang.Exception
protected java.lang.String toString(java.lang.Object object) throws java.lang.Exception
toString
in class StringToObject
java.lang.Exception
protected java.lang.Number convertToNumberClass(java.lang.Number number, java.lang.Class<? extends java.lang.Number> numberClass) throws java.lang.IllegalArgumentException
number
- the parsed numberjava.lang.IllegalArgumentException
- when an overflow condition occurs during coersion