簡體   English   中英

如何將ac#destop應用程序中單個文本框的內容分成兩個整數變量?

[英]How can I separate the contents of a single textbox in a c# destop application into two interger variables?

我正在嘗試創建一個簡單的桌面應用程序,您可以在其中進行分數運算。 我創建了Rational類,但是我需要一個分母和分子。 我只能使用2個文本框,每個部分一個。 有沒有一種方法可以將帶有“ /”的內容分成兩個不同的變量?

我寫了一些簡單的代碼來檢查文本框中的“ /”,但是我不確定如何將其分成兩個變量。

char denominator;

for(int i = 0; i <= textBox1.Text.Length; i++)
{
    if (textBox1.Text[i] =='/')
    {
        int fromhere = i;

        for(int y = 0; y <= i; i++)
        {
            denominator = textBox1.Text[y];
        }
    }   
}

稍后我想將這些變量放入我的有理對象的參數中,然后允許用戶執行操作。

最簡單的方法是像這樣使用string.Spilt()

string[] fraction = textBox1.Text.Split('/');
int numerator = Convert.Into32(fraction[0]);
int denominator = Convert.Into32(fraction[1]); 

考慮到您只有一個文本框:

string input = textBox1.Text;
var twoParts = input.Split('/');

if (twoParts.Length != 2)
{
    // Invalid input
    // TODO 
}

if (!decimal.TryParse(twoParts[0], out var numerator) || !decimal.TryParse(twoParts[1], out var denominator))
{
    // Invalid input
    // TODO
}

var result = numerator / denominator;

您可以使用split命令來解決

string line = "123/0215";
string[] splitedData  = line.Split('/');

console.WriteLine(splitedData[0]);
console.WriteLine(splitedData[1]);

輸出將是:

 -> 123
 -> 0215 

在按鈕事件中嘗試以下操作:

private void SplitAndCalculate_Click(object sender, EventArgs e)
    {
        string MyNo= textBox1.Text ;
        string[] SplitedMyNo = MyNo .Split('/');
        int N1 = int.Parse(SplitedMyNo[0]);
        int N2 = int.Parse(SplitedMyNo[1]);
        int Res = N1 + N2;
        MessageBox.Show( Res.ToString() ) ;
             }

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM