parseNumber method

  1. @override
num? parseNumber(
  1. String? input
)
override

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;
  }
}