簡體   English   中英

如何將文本框的文本轉換為值?

[英]How to convert a textbox's text into a value?

我的代碼中有這個表達式

label3.Text = (((2 * 4.1) * 2) + (2 * textBox1.Text) + 31.6).ToString();

但是我需要textBox1.Text值來評估表達式,並將答案存儲在label3的文本中。 因此,我應該能夠將textBox1文本更改為2、3等,並且它應該對表達式求值並將答案放入label3.Text中。

我怎樣才能做到這一點?

好吧,首先您應該從第一個文本框中獲取值,並將其轉換為雙精度或十進制或任何您正在使用的值。 用這個做

double textbox1_Value = Convert.ToDouble(textbox1.Text);

現在,您可以將textbox1_Value插入該位置,並且由於它是double值,因此現在可以評估答案。

所以你的代碼是

label3.Text = (((2 * 4.1) * 2) + (2 * textbox1_Value) + 31.6).ToString();

就個人而言,如果您不使用數據綁定,我會將其放入try catch塊中,因為如果文本框的值不是double會怎樣? 我將如何處理:

try
{
    double textbox1_Value = Convert.ToDouble(textbox1.Text);
}
catch
{
    MessageBox.Show("Error, unable to parse text");
    return;
}
label3.Text = (((2 * 4.1) * 2) + (2 * textbox1_Value) + 31.6).ToString();

因此,如果在嘗試將其轉換為double時出錯,它將捕獲該錯誤,您可以顯示錯誤並關閉程序或返回該函數。

我想我明白您的要求。

您將需要首先檢查文本框中的值是一個數字,然后使用它來執行計算。

label3.Text = (((2 * 4.1) * 2) + (2 * Convert.ToDouble(textBox1.Text)) + 31.6).ToString();

問題已解決。謝謝。

私人void TextBox1_TextChanged(object sender,EventArgs e)

嘗試

{

label1.Text =((((2 * 4.1) 2)+(2 Convert.ToDouble(textbox1.Text)+31.6).ToString();

}

抓住

{

}

暫無
暫無

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

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