如何在 c# 中将文本框值转换为双精度

本文关键字:转换 双精度 文本 | 更新日期: 2023-09-27 18:32:36

我是c#的新手,使用Windows表单。我有 2 个文本框textbox1textbox2.

假设文本框 1 的值为 22,当我单击 textbox2 时,文本框 1 中的值应更改为双倍 (22.00)。

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

如何在 c# 中将文本框值转换为双精度

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

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'
}

使用 double.Parse() 函数。例:

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

希望这有帮助,

杰森。

试试这段代码

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

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