我现在想从文本框中获取一个double值,像这样:
String.IsNullOrEmpty(textBox1.Text) ? 0.0 : Double.Parse(textBox1.Text)
但是有一个问题,我不知道如何解析空文本框?
例如,如果使用OleDb和Excel尝试使用空文本框运行此代码,我们将会收到错误信息:
System.FormatException: 输入字符串的格式不正确。
double val;
if(!double.TryParse(textBox.Text,out val))
val = 0.0
if
语句。 - Chris Gessler你尝试过使用Double.TryParse(String, NumberStyles, IFormatProvider, Double%)
吗?
这可以帮助解决各种数字格式的问题。
double result;
Double.TryParse("",out result);
result = Double.TryParse("",out result) ? result : 0.00
Double.TryParse
无法解析字符串,则返回false并将输出参数设置为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
}
Double.TryParse
方法。http://msdn.microsoft.com/en-us/library/994c0zb1.aspx - Brad