C# Winform问题转换值并显示它们

C# Winform问题转换值并显示它们,c#,winforms,C#,Winforms,对不起,我的标题有点模糊,但我想做的可能需要一段时间来解释 目前我想做的是: 从文本框将用户聚集到put中 将输入的值除以2 在标签上显示此新值 因此,为了获得用户值,我做了以下工作: private void userLengthTextBox_TextChanged(object sender, EventArgs e) { _userLength = userLengthTextBox.Text; } 这是一个字符串。然后在一个新函数中,我将这个字

对不起,我的标题有点模糊,但我想做的可能需要一段时间来解释

目前我想做的是:

  • 从文本框将用户聚集到put中
  • 将输入的值除以2
  • 在标签上显示此新值
因此,为了获得用户值,我做了以下工作:

  private void userLengthTextBox_TextChanged(object sender, EventArgs e)
    {
        _userLength = userLengthTextBox.Text;
    }
这是一个字符串。然后在一个新函数中,我将这个字符串转换为单个(需要是浮点),计算输入值的一半,然后将其存储在一个新的浮点中

像这样:

    _oldTlX = Convert.ToSingle(_userLength);
    _tlX = _oldTlX / 2;
然后,当我按下一个按钮时,我试图将此值显示在标签中:

 _valueLabel.Text = Convert.ToString(_tlX);

但是,当我按下按钮时,该值保持为0。不管我说什么。据我所知,我已经将所需的值转换为所需的正确格式,但它仍然表示我做得不对

我建议您在内部使用double,然后使用格式字符串以适当的方式显示结果:

double _oldTlX;
if (!double.TryParse(_userLength, out _oldTlX)) return;
double _tlX = _oldTlX / 2;

_valueLabel.Text = string.Format("{0:f3}", _tlX); // 3 decimal positions
您还可以在“如何设置数值结果的格式”中进行检查


希望有帮助。

双精度解析(…)怎么样?您的两个代码有不同的变量名,对吗
\u userLength
vs
\u usercavellength
感谢您指出错误(尽量使变量名对post:)我将double.Parse放在哪里?在按钮中按下?那么您将把
Convert.ToSingle
放在哪里?
记住保护double.Parse()
或使用