941 Stimmen

Erkennen, ob eine Zeichenkette eine Zahl ist

Wenn ich diese Saiten habe:

  1. "abc" = false

  2. "123" = true

  3. "ab2" = false

Gibt es einen Befehl, wie IsNumeric() oder etwas anderes, das erkennen kann, ob eine Zeichenkette eine gültige Zahl ist?

2voto

Chad Kuehn Punkte 3781

Mit c# 7 können Sie die out-Variable inline:

if(int.TryParse(str, out int v))
{
}

1voto

Arun Punkte 3448

Ich hoffe, das hilft

string myString = "abc";
double num;
bool isNumber = double.TryParse(myString , out num);

if isNumber 
{
//string is number
}
else
{
//string is not a number
}

0voto

ΩmegaMan Punkte 26232

Fügen Sie einen Verweis auf Visual Basic in Ihr Projekt ein und verwenden Sie die Methode Information.IsNumeric wie unten gezeigt, um sowohl Fließkommazahlen als auch Ganzzahlen zu erfassen, im Gegensatz zu der obigen Antwort, die nur Ganzzahlen erfasst.

    // Using Microsoft.VisualBasic;

    var txt = "ABCDEFG";

    if (Information.IsNumeric(txt))
        Console.WriteLine ("Numeric");

IsNumeric("12.3"); // true
IsNumeric("1"); // true
IsNumeric("abc"); // false

0voto

Nayan_07 Punkte 195

Alle Antworten sind nützlich. Aber bei der Suche nach einer Lösung, wo der numerische Wert ist 12 Ziffern oder mehr (in meinem Fall), dann beim Debuggen, fand ich die folgende Lösung nützlich:

double tempInt = 0;
bool result = double.TryParse("Your_12_Digit_Or_more_StringValue", out tempInt);

Die Ergebnisvariable liefert Ihnen true oder false.

-1voto

Syed Tayyab Ali Punkte 3555

Hier ist die C#-Methode. Int.TryParse Methode (String, Int32)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X