如何在c#中将文本框值转换为double?

时间:2016-01-30 16:06:28

标签: c#

我是c#的新手并使用Windows窗体。 我有2个文本框textbox1textbox2

让我们说textbox1的值为22,当我点击textbox2时,textbox1中的值应该变为double(22.00)。

textbox1.text = "22";
private void textBox2_MouseClick(object sender, MouseEventArgs e)
{
    // convert the value in textbox1 to double .
}

4 个答案:

答案 0 :(得分:4)

private void textBox2_MouseClick(object sender, MouseEventArgs e)
{
     // TODO: handle exceptions
     textBox1.Text = double.Parse(textBox1.Text).ToString("F2");
}

1)您可以在此处找到格式字符串:https://msdn.microsoft.com/pl-pl/library/dwhawy9k(v=vs.110).aspx

2)double.Parse(...)可以抛出异常:https://msdn.microsoft.com/pl-pl/library/fd84bdyt(v=vs.110).aspx

答案 1 :(得分:3)

Double.Parse

  

将数字的字符串表示形式转换为双精度   浮点数相当于。

Double.TryParse

  

将数字的字符串表示形式转换为双精度   浮点数等价。返回值表示是否   转换成功或失败。

如果用户输入了无效值,您应该使用Double.TryParse而不是Double.Parse来防止异常下降。

所以,代码是:

var sourceValue = textBox1.Text;
double doubleValue;
if (double.TryParse(sourceValue, out doubleValue)){
      // Here you already can use a valid double 'doubleValue'
} else {    
      // Here you can display an error message like 'Invalid value'
}

答案 2 :(得分:1)

试试此代码

private void textBox2_MouseClick(object sender, MouseEventArgs e)
{
    double number = double.Parse = textbox1.Text;        
    textbox1.Text = double.Parse(Math.Round(number, 2).ToString();
}

其中2是小数点分隔符后的位数

答案 3 :(得分:1)

使用double.Parse()功能。例如:

double textBoxValue;
textbox1.Text = "22";
private void textBox2_MouseClick(object sender, MouseEventArgs e)
    {
         textBoxValue = double.Parse(textbox1.Text);
    }

希望这有帮助,

杰森。