空字符串加倍C#

时间:2012-09-25 12:52:58

标签: c# double

此时我正试图从文本框中获取双倍值:

String.IsNullOrEmpty(textBox1.Text) ? 0.0 : Double.Parse(textBox1.Text)

但是有一个问题,我无法解决如何解析空文本框?

例如,如果使用OleDb和Excel使用空文本框尝试此代码,我们将收到错误

System.FormatException:输入字符串的格式不正确。

5 个答案:

答案 0 :(得分:13)

double val;
if(!double.TryParse(textBox.Text,out val))
    val = 0.0

答案 1 :(得分:3)

您是否尝试过Double.TryParse(String, NumberStyles, IFormatProvider, Double%)

这有助于解决各种数字格式的问题。

答案 2 :(得分:1)

double result;
Double.TryParse("",out result);

如果TryParse为true,则结果将具有double值 此外,您可以使用if condition,

result = Double.TryParse("",out result) ? result : 0.00

答案 3 :(得分:1)

如果Double.TryParse无法解析字符串,则返回false并将out参数设置为0.

double d;
if(double.TryParse(textBox1.Text, out d)
{
  // valid number
}
else
{
  // not a valid number and d = 0;
}

或者

double d;
double.TryParse(textBox1.Text, out d)
// do something with d.  

另请注意,您可以在同一if语句中的其他逻辑中使用out参数:

double d;
if(double.TryParse(textBox1.Text, out d) && d > 500 && d < 1000)
{
  // valid number and the number is between 501 and 9999
}

答案 4 :(得分:0)

为什么不直接使用不会抛出异常的Double.TryParse?