สิ่งนี้ไม่มีค่าโสหุ้ย 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
}
อนึ่งชนิดข้อมูลมาตรฐานทั้งหมดที่มีข้อยกเว้นที่เห็นได้ชัดของ GUID สนับสนุน TryParse
update
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);
}
อัปเดต 2 (จาก @stackonfire เพื่อจัดการกับสตริงว่างหรือว่าง)
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;
}