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
TryParseva 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.