如果文本框有值,我怎样才能将文本框转换为浮点数?
我目前有float test = (float)Convert.ToDouble(textbox.Text);
它工作正常,但如果文本框为空则会出错。
答案 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上的必填字段进行测试。