Это не требует регулярных выражений
double myNum = 0;
String testVar = "Not A Number";
if (Double.TryParse(testVar, out myNum)) {
// it is a number
} else {
// it is not a number
}
Кстати, все стандартные типы данных, за явным исключением GUID, поддерживают TryParse.
обновление
Secretwep поднял вопрос о том, что значение «2345» пройдет вышеупомянутый тест как число. Однако, если вам нужно убедиться, что все символы в строке являются цифрами, следует использовать другой подход.
пример 1 :
public Boolean IsNumber(String s) {
Boolean value = true;
foreach(Char c in s.ToCharArray()) {
value = value && Char.IsDigit(c);
}
return value;
}
или если вы хотите быть немного более модным
public Boolean IsNumber(String value) {
return value.All(Char.IsDigit);
}