Jak sprawdzić, czy ciąg znaków jest liczbą w C#
Kroki sprawdzania, czy ciąg znaków jest liczbą w C#
- Zadeklaruj zmienną typu integer.
- Przekaż łańcuch do metod
int.TryParse()
lubdouble.TryParse()
za pomocą zmiennejout
. - Jeśli łańcuch jest liczbą, metoda
TryParse
zwróci wartość true. I przypisze wartość do zadeklarowanej wartości całkowitejout
.
On this page
Sprawdzanie, czy ciąg znaków jest liczbą czy nie w języku C#
Na przykład mamy zmienną łańcuchową “123” i jeśli chcesz sprawdzić, czy jest ona liczbą, użyj poniższego kodu C#.
var stringNumber = "123";
int numericValue;
bool isNumber = int.TryParse(stringNumber, out numericValue);
//isNumber is true and numericValue=123
var stringNumber = "123P";
int numericValue;
bool isNumber = int.TryParse(stringNumber, out numericValue);
//isNumber is false and numericValue=0 default value
Począwszy od C# 7 możemy deklarować zmienną out w samej metodzie TryParse.
bool isNumber = int.TryParse(stringNumber, out int numericValue);
Problem z powyższą metodą int.TryParse
polega na tym, że nie sprawdza ona ujemnych wartości liczb łańcuchowych.
Sprawdzanie ujemnej liczby łańcuchowej w języku C#
Aby sprawdzić, czy liczba łańcuchowa jest ujemna, możemy użyć metody C# double.TryParse()
.
var negativeString = "-123";
double number;
if(double.TryParse(negativeString,out number)){
if (number > 0){
}else{
//negative number
}
}
Najlepszy sposób na sprawdzenie, czy ciąg znaków jest liczbą w C#
Zawsze używaj metody double.TryParse()
, aby sprawdzić, czy ciąg znaków jest liczbą, ponieważ może ona sprawdzać zarówno liczby dodatnie, jak i ujemne.