[英]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.