C# If-Bedingung anders schreiben



  • namespace Taschenrechner
    {
    public partial class Form1 : Form
    {
    private double zahl = 0;
    private bool kommax=false;
    private double zahlx = 0;

        public Form1()
        {
            InitializeComponent();
        }
    
        private void anzeige()
        {
            ausgabe.Text = zahl.ToString();
        }
       
        private void btn1_Click(object sender, EventArgs e)
        {
            if (kommax == false)
            {
                // Vorkommateil
                zahl = zahl * 10 + 1;
            }
            else
            {
                // Nachkommateil
                zahl = zahl + 1 / Math.Pow(10, zahlx);
                zahlx++;
            }
    
            anzeige();
        }
    
        private void button1_Click(object sender, EventArgs e) //button1_Click für das K
        {
            kommax = true;
            zahlx = 1;
        }
    }
    

    }

    ich arbeite grade an einem Taschenrechner. Bis jetzt kann er mir beliebig viele einsen und nachkommastellen (einsen) ausgeben, also z.B: 1111,111. Meine Frage: Wie kann ich mein if-bedingung anders gestalten? Ich muss quasi ein anderes Kriterium finden, wie ich das vergleichen kann (ob es sich z.B. um eine vor/nachkommastelle handelt)

    danke



  • Was genau paßt denn daran nicht?

    PS: Editiere deine Beiträge und packe den Code in passende Code-Tags (z.B. den Code-Button benutzen)!

    namespace Taschenrechner
    {
      // ...
    }
    


  • @Th69 Es passt schon, aber ich suche (Für Übungszwecke) einen anderen Weg um das zu vergleichen. Ich habe
    z.B. an if (zahl - (int)zahl == 0) gedacht weil int-int ja 0 ist und somit eine Zahl ohne Komma. Aber irgendwie will das nicht