如果不是空的话,如何将文本框转换为浮点数?

时间:2017-03-08 14:54:06

标签: c#

如果文本框有值,我怎样才能将文本框转换为浮点数?

我目前有float test = (float)Convert.ToDouble(textbox.Text);

它工作正常,但如果文本框为空则会出错。

4 个答案:

答案 0 :(得分:1)

我认为更好的解决方案是:

float test = float.NaN;
if(float.TryParse(textbox.Text, out test ))
{
     // your code here
}

答案 1 :(得分:0)

有很多方法可以做到这一点,但通常你会使用if进行测试。例如:

float test;
if (!string.IsNullOrWhiteSpace(textbox.text))
    test = (float)Convert.ToDouble(textbox.Text);

答案 2 :(得分:0)

一种非常常见的方法是使用double.TryParse进行转换。这样,您可以使用单个语句处理空值和无效值。

bool success = double.TryParse(textbox.Text, out value);

不要忘记检查success并处理可能的失败。

答案 3 :(得分:0)

这非常简单,只需在If语句中包含它即可。

float test;

if(textbox.Text.Length > 0) //Or (textbox.Text != "")
    test = (float)Convert.ToDouble(textbox.Text);

作为一个额外的建议,多层验证总是一件好事。如果您有类似提交按钮的内容,则应该在UI到达转换点之前对UI上的必填字段进行测试。