首页 > 解决方案 > 如何从稍后在方程式中传递的单个文本框中获取 2 个不同的浮点数。(C#)

问题描述

首先,大家好,很抱歉是个傻瓜!

我对 C# 比较陌生,我有getFirstNumber方法getSecondNumber,但我不知道如何buttonEquals_Click按预期工作。

这个想法是:

  1. 用户在文本框中输入一个数字。

  2. 用户单击“+、-、*、/”按钮,数字被解析为浮动第一个数字。

  3. 用户在同一个文本框中输入另一个数字。

  4. 用户单击“=”按钮,数字被解析为浮动第二个数字
    ............并且他在标签中接收方程的输出。

我被困在最后一点,我无法在 C# 中弄清楚,请帮助我:D

    public void getfirstNumber(float firstNumber,int Operation)
    {
        float firstnumber = firstNumber;
        int  operation = Operation;
    }

    public void getsecondNumber(float secondNumber)
    {
         float secondnumber = secondNumber;
    }

    private void buttonMULTIPLY_Click(object sender, EventArgs e)
    {
        float firstNumber = float.Parse(textBoxInput.Text);
        int multiply = 4;
        getfirstNumber(firstNumber,mul);
    }

    private void buttonEQUALS_Click(object sender, EventArgs e)
    {
        float secondNumber = float.Parse(textBoxInput.Text);
        getsecondNumber(secondNumber);

         /* if operation == 4 
            {print in label the output of firstnumber / secondnumber
          } */
    }

标签: c#windows

解决方案


你不需要getfirstNumber()getSecondNumber()方法:

string Operation = "";
float firstNumber = 0, seconNumber = 0;

 private void buttonMULTIPLY_Click(object sender, EventArgs e)
{
     firstNumber = float.Parse(textBoxInput.Text);
     Operation = "*";
}

 private void buttonEQUALS_Click(object sender, EventArgs e)
 {
     secondNumber = float.Parse(textBoxInput.Text);
     switch(Operation)
     {
          case "*":
              textBoxInput.Text = (firstNumber * secondNumber).ToString();
              break;
          case "-":
              textBoxInput.Text = (firstNumber - secondNumber).ToString();
              break;
          case "+":
              textBoxInput.Text = (firstNumber + secondNumber).ToString();
              break;
          case "/":
              textBoxInput.Text = (firstNumber / secondNumber).ToString();
              break;

     }
    Operation = "";
}

推荐阅读