Dart| Flutter How to: Find a Given String is numeric or not

This tutorial explains How to check given string is a number or not.

You can check my previous post, on How to Convert String to Number in dart.

Dart How to check whether a String is Numeric or not

This approach uses the parse method of double for floating and number for without decimals

The tryParse method converts the string literal into a number. You can also use the parse method. tryParse returns null if the string is not able to convert into a number. parse throws Exception if the string is not parsable.

Here is an example isNumeric Extension method on the String class

extension NumericString on String {
  bool get isNumeric => str.tryParse(this) != null ? true : false;
}

void main() {
  print(("abc").isNumeric); // false
  print(("123").isNumeric); // true
  print(("a123").isNumeric); // false
}

Check String is Number using RegExp

Regular Expression in Dart provides given input against the matching pattern. hasMatch method test pattern and return a boolean result

Here, the Regular express used for Checking a given string is a number or not used below

RegExp _numeric = RegExp(r'^-?[0-9]+$');

r followed by an enclosed regular expression pattern.

  • r represents a regular expression
  • ^: Begin of string or line
  • $: End of string or line
  • [0-9]: Allowed numbers from 0 to 9 only
  • + : one more character
RegExp _numeric = RegExp(r'^-?[0-9]+$');

bool isNumeric(String str) {
  return _numeric.hasMatch(str);
}

void main() {
  print(isNumeric("abc")); // false
  print(isNumeric("123")); // true
  print(isNumeric("a123")); // false
}

Conclusion

Learned how to check given string is numeric or not.

  • using the tryParse or parse method
  • use Regular Expressions in dart