Ini tidak memiliki overhead regex
double myNum = 0;
String testVar = "Not A Number";
if (Double.TryParse(testVar, out myNum)) {
// it is a number
} else {
// it is not a number
}
Kebetulan, semua tipe data standar, dengan pengecualian mencolok dari GUID, mendukung TryParse.
update
secretwep menunjukkan bahwa nilai "2345" akan lulus tes di atas sebagai angka. Namun, jika Anda perlu memastikan bahwa semua karakter dalam string adalah digit, maka pendekatan lain harus dilakukan.
contoh 1 :
public Boolean IsNumber(String s) {
Boolean value = true;
foreach(Char c in s.ToCharArray()) {
value = value && Char.IsDigit(c);
}
return value;
}
atau jika Anda ingin sedikit lebih mewah
public Boolean IsNumber(String value) {
return value.All(Char.IsDigit);
}
update 2 (dari @stackonfire untuk menangani null atau string kosong)
public Boolean IsNumber(String s) {
Boolean value = true;
if (s == String.Empty || s == null) {
value=false;
} else {
foreach(Char c in s.ToCharArray()) {
value = value && Char.IsDigit(c);
}
} return value;
}