Cum să verificați dacă un șir de caractere este un număr în C#
Pași pentru a verifica dacă un șir de caractere este un număr în C#
- Declarați o variabilă de număr întreg.
- Treceți șirul de caractere la metodele
int.TryParse()
saudouble.TryParse()
cu variabilaout
. - Dacă șirul este un număr, metoda
TryParse
va returna true. Și atribuie valoarea la valoarea întreagă declaratăout
.
On this page
Verifică dacă un șir de caractere este sau nu un număr în C#
De exemplu, avem o variabilă de tip șir de caractere “123” și dacă doriți să verificați dacă este un număr, utilizați codul C# de mai jos.
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
Începând cu C# 7, putem declara variabila out chiar în metoda TryParse.
bool isNumber = int.TryParse(stringNumber, out int numericValue);
Problema metodei int.TryParse
de mai sus este că nu poate verifica valorile negative ale șirurilor de caractere.
Verificarea numerelor de șir de caractere negative în C#
Pentru a verifica valorile negative ale unui șir de caractere, putem utiliza metoda C# double.TryParse()
.
var negativeString = "-123";
double number;
if(double.TryParse(negativeString,out number)){
if (number > 0){
}else{
//negative number
}
}
Cea mai bună metodă de a verifica dacă un șir de caractere este un număr în C#
Utilizați întotdeauna metoda double.TryParse()
pentru a verifica dacă un șir de caractere este un număr, deoarece poate valida atât numere pozitive, cât și negative.