parseNumber method
Coerces the String value of the MaterialInput
into type of T
.
Implementation
@override
num? parseNumber(String? input) {
// NaN is a valid parsable entity for NumberFormat, but not a value a user
// is expected to be able to input.
if (input == null || input == 'NaN') return null;
try {
if (_checkInteger && input.contains(_numberFormat!.symbols.DECIMAL_SEP)) {
// Invalid value no longer an integer
return null;
}
final value = _numberFormat!.parse(input);
return _checkInteger ? value.toInt() : value;
} on FormatException {
return null;
}
}