如何在 c# 中将文本框值转换为双精度
本文关键字:转换 双精度 文本 | 更新日期: 2023-09-27 18:32:36
我是c#的新手,使用Windows表单。我有 2 个文本框textbox1
和textbox2
.
假设文本框 1 的值为 22,当我单击 textbox2 时,文本框 1 中的值应更改为双倍 (22.00)。
textbox1.text = "22";
private void textBox2_MouseClick(object sender, MouseEventArgs e)
{
// convert the value in textbox1 to double .
}
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 是小数点分隔符后的位数