如何转换文本框';将文本转换为值

本文关键字:转换 文本 何转换 | 更新日期: 2023-09-27 18:00:59

我的代码中有这个表达式

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

但我需要textBox1.Text值来评估表达式,并将答案存储在标签3的文本中。因此,我应该能够将textBox1文本更改为2、3等,它应该评估表达式并将答案放入标签3.text.

我该怎么做?

如何转换文本框';将文本转换为值

好的,所以首先你应该从第一个文本框中获得值,并将其转换为双精度或十进制或任何你正在使用的值。使用这个

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

现在,您可以将textbox1_Value插入该位置,由于它是一个双精度,因此现在可以评估答案。

所以你的代码应该是

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

就我个人而言,如果你不使用数据绑定,我会把它扔到try-catch块中,因为如果文本框的值不是双值呢?我会怎么做:

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();

问题已经解决。谢谢

private void TextBox1_TextChanged(对象发送方,EventArgs e(

尝试

label1.Text=(((2*4.1(2(+(2转换.ToDouble(textbox1.Text(+31.6(.ToString((;

}

捕获

}