Sådan kontrolleres det, om en streng er et tal i C#
Trin til at kontrollere, om en streng er et tal i C#
- Deklarér en heltalsvariabel.
- Overfør strengen til metoderne
int.TryParse()
ellerdouble.TryParse()
med variablenout
. - Hvis strengen er et tal, returnerer
TryParse
metoden true. Og tildeler værdi til den erklærede hele talværdiout
værdi.
On this page
Kontroller, om en streng er et tal eller ej i C#
Vi har f.eks. en strengvariabel “123”, og hvis du vil kontrollere, om den er numerisk, skal du bruge nedenstående C#-kode.
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
Fra C# 7 og fremefter kan vi erklære out variablen i selve TryParse-metoden.
bool isNumber = int.TryParse(stringNumber, out int numericValue);
Problemet med ovenstående int.TryParse
-metode er, at den ikke kan kontrollere negative stringtalværdier.
Kontrol af negative stringtal i C#
For at kontrollere for negative stringtalværdier kan vi bruge C# double.TryParse()
-metoden.
var negativeString = "-123";
double number;
if(double.TryParse(negativeString,out number)){
if (number > 0){
}else{
//negative number
}
}
Bedste måde at kontrollere, om en streng er et tal i C#
Brug altid metoden double.TryParse()
til at kontrollere, om en streng er et tal, fordi den kan validere både positive og negative tal.