parseNumericValue static method
dynamic
parseNumericValue(
- String value, {
- required TextInputType keyboardType,
- required bool allowDecimal,
Enhanced numeric value parsing with better error handling
Implementation
static dynamic parseNumericValue(
String value, {
required TextInputType keyboardType,
required bool allowDecimal,
}) {
if (value.isEmpty) return null;
final cleanValue = _extractRawNumber(value);
if (cleanValue.isEmpty || _isPartialInput(cleanValue)) return null;
// For phone numbers, return clean string
if (keyboardType == TextInputType.phone) {
return cleanValue.replaceAll(RegExp(r'[^\d]'), '');
}
// For numeric inputs, parse as number
try {
if (allowDecimal) {
return double.tryParse(cleanValue);
} else {
return int.tryParse(cleanValue);
}
} catch (e) {
return null;
}
}