C-Sharp C# || Zahlen aus einem String erkennen lassen?

1 Antwort

Das kannst du mit TryParse() machen

https://msdn.microsoft.com/de-de/library/bb397679.aspx

Der Schnipsel hier tut eigentlich schon das, was du willst.

string inputString = "abc";
int numValue;
bool parsed = Int32.TryParse(inputString, out numValue);

if (!parsed)
Console.WriteLine("Int32.TryParse could not parse '{0}' to an int.\n", inputString);

// Output: Int32.TryParse could not parse 'abc' to an int.

oder gibt es eine möglichkeit aus einer eingabe wie "10" eine
grösser-kleiner überprüfung zu machen, um diese in ein switch case >
10 zu packen?

Das ist auch möglich, dazu musst du den String einfach in ein Int/Float umwandeln... das könntest du ebenfalls mit tryParse() machen. ;)

Aber wenn ichs mit Convert.ToInt32 mache würde das Programm abstürzen oder? - danke für die rasche antwort - danach habe ich gesucht! ;)

0
@ElferKern

Convert.ToInt32 könntest du auch machen, das dann aber in einem Try-Catch-Block und wenn eine Exception fliegt, dann hat es nicht geklappt und du musst im catch irgendwie reagieren, um den Absturz zu vermeiden... das find ich komplizierter als TryParse.

1
@ceevee

hat perfekt funktioniert mit tryParse() - danke dir! - wann auch immer hilfreichste frage mal geht xD

1
@ElferKern

Ich glaub, das geht erst ab 24 Stunden und auch erst, wenn es mindestens 2 Antworten gibt.

Ist aber egal, ich bin nicht geil auf hilfreichste Antworten. Es freut mich, wenn ich helfen konnte. :)

1

Wie kann ich ein Taschenrechner mit Komma im C# Programmieren?

Hallo. Also ich habe ein problem. Und zwar ich programmiere gerade Taschenrechner, und es erkennt zwar Komma aber es wird im Textbox als Ergebniss kein Komma angezeigt. Und ich wollte euch fragen wie man das beheben kann?

So seht mein Code aus

    String richter = "+";
    Double R1 = 0;
    Double R2 = 0;
    String Memory = "0";
    private void Gleich_Click(object sender, EventArgs e)
    {
        R2 = Convert.ToDouble(Display.Text);
        switch (richter) 
        {
            case "+": Double Ergebniss = R1 + R2; Display.Text = Ergebniss.ToString(); break;
            case "-":  Ergebniss = R1 - R2; Display.Text = Ergebniss.ToString(); break;
            case "x":  Ergebniss = R1 * R2; Display.Text = Ergebniss.ToString(); break;
            case "/":  Ergebniss = R1 / R2; Display.Text = Ergebniss.ToString(); break;


        }
    }
...zur Frage

Java Zahlenspiel programmieren "sehr simple"?

Ich brauche Hilfe bei folgendem Code und Aufgabe die im Code steht.
Am besten für jede Variante ein Beispiel der ersten Zahl 1 von 9. Wäre sehr dankbar für die Hilfe, um das ganze mehr nachvollziehen zu können.

public class Zahlenspiel{
.....
}
public String zahltext_mit_if(int i) {
   String wert="";
   /* Eingabe int wert */
   // Es soll der einstellige Zahlenwert als ausgeschriebene Zahl zurückgegeben werden
   return wert;
}
public String zahltext_mit_case(int i) {
   String wert="";
   /* Eingabe int wert */
   // Es soll der einstellige Zahlenwert als ausgeschriebene Zahl zurückgegeben werden
   return wert;
}
public String zahltext_mit_eingebaut(Integer i) {
   String wert="";
   /* Eingabe int wert */
   i.toString();
   // Es soll der einstellige Zahlenwert als ausgeschriebene Zahl zurückgegeben werden
   return wert;
}
public String zahl_gleich_5(Integer i) {
   String wert="";
   /* Eingabe Integer wert */
   // Es soll das Wort Juchhu ausgeben werden wenn i gleich 5 ist, ansonsten die Zahl als wort;
   return wert;
}
public int string_zu_zahl(String zahl) {
   // Hier soll aus dem String zahl ein int ausgegeben werden, 0 wenn keine Zahl eingegeben wurde
   return 0;
}
public void grafzahl() {
   // In einer for i schleife von 10 auf 0 , und bei auch ein Grafzahl ausgeben
}
...zur Frage

Java Zufallszahlen Programm (for Schleife)?

Ich brauche Hilfe bei einem Programm. In diesem Programm geht es darum, dass der Computer sich eine Zahl zwischen 1 und 100 ausdenkt, welche der Nutzer dann erraten soll. Je nachdem ob die Zahl größer oder kleiner ist wird es dann ausgegeben. Man hat 10 Versuche, doch wenn ich die Zahl in z.B. 5 Versuchen erraten habe fragt mich das Programm trotzdem noch weiter nach der Zahl, so lang bis die 10 Versuche verbraucht sind. Und wie kann ich es schaffen, dass wenn die Zahl nicht erraten wird, dass das Programm sie dann am Ende ausgibt ? das ist das Programm bis jetzt:

//----------------------------------------------Variablendeklaration------------------------------------------ String Eingabe1; int Zahl; int Eingabe;

    Random rand=new Random();
    Zahl= rand.nextInt(100);
    

//-------------------------------------------------Schleife--------------------------------------------------------

    for (int Zähler=0; Zähler<10; Zähler=Zähler+1)
    {
        Eingabe1=JOptionPane.showInputDialog(null, "Geben sie ihre ausgedachte Zahl ein");
        
        Eingabe=Integer.parseInt(Eingabe1);
        

//-------------------------------------------------if-Anweisung-------------------------------------------------- if (Eingabe<Zahl) { JOptionPane.showMessageDialog(null, "Die Zahl ist größer.");}

        else if (Eingabe>Zahl)
        {JOptionPane.showMessageDialog(null, "Die Zahl ist kleiner.");}
        
        else 
        {JOptionPane.showMessageDialog(null,  "Die Zahl ist richtig.");}
        
...zur Frage

Was mache ich falsch (csharp Dateiarbeit)?

Hat Jemand hierzu eine Lösung? Wollte nach einem String im Datensatz suchen und die Informationen dazu ausgeben.

string zeile = "";

      FileStream fs = new FileStream("Daten.txt", FileMode.Open);

      StreamReader sr = new StreamReader(fs);

      string eingabe = Interaction.InputBox("Bitte geben sie die zu suchende AB ein!","Suchen");

      int lines = 1;

      int current_line = 0;

      while (current_line < lines )

      {

        current_line++;

        zeile = sr.ReadLine();

        

      }

      lines++;

      string[] ZK = zeile.Split(';');

      if (ZK[0] == eingabe)

      {

        MessageBox.Show("Folgende Informationen wurden zur AB Nummer " + eingabe + " gefunden. " + "Kunde: " + ZK[1] + " Kundennummer: " + ZK[2] + " Bildcode: " + ZK[3] + " Preis pro cm²:" + ZK[4] + " Maße a:" + ZK[5] + " b:" + ZK[6] + " c:" + ZK[7] + " d:" + ZK[8] + " Steckdosen:" + ZK[9] + " Glasart" + ZK[10]);

      }

      else { MessageBox.Show("AB Nummer leider nicht gefunden."); }

      sr.Close();

Funktioniert nicht -- er springt sofort auf den Else pfad.

kann man das überhaupt so lösen? Oder wird ZK gleich 11 wenn er nach dem Umbruch in die nächste zeile Hopst? Wenn ja, gibt es da einen Vorschlag für mich?

Habe euch mal anbei die Daten.txt geheftet.

...zur Frage

String mit fgets einlesen, Überprüfung ob Eingabe stattfand

Wie kann man überprüfen, dass in einem String überhaupt etwas hineingeschrieben wurde? fgets und dann ermitteln das da Zeichen drin sind? Strlen wäre eine Idee

...zur Frage

Was möchtest Du wissen?