我收到上述错误在下面的代码行,只要文本框是空的正确格式:输入字符串的不小数类型文本框
decimal Qty = Convert.ToDecimal(txtQtyforAnalysis.Text);
谁能告诉我,我可能是错的并给它一个解决方案?
我收到上述错误在下面的代码行,只要文本框是空的正确格式:输入字符串的不小数类型文本框
decimal Qty = Convert.ToDecimal(txtQtyforAnalysis.Text);
谁能告诉我,我可能是错的并给它一个解决方案?
我得到以下行的代码,只要 文本框为空,上述错误:
你如果您要使用Convert.ToDecimal
或Decimal.Parse
,如果您想避免发生异常并检查它是否包含任何有效的输入T,然后用decimal.TryParse
decimal Qty;
if(!decimal.TryParse(txtQtyforAnalysis.Text, out Qty)
{
//Some invalid input , empty string or invalid decimal number
}
else
{
//valid decimal number
}
,如果你要检查你的TextBox.Text
为空字符串,则可以使用string.IsNullOrEmpty
或者string.IsNullOrWhiteSpace
(提供框架4.0或更高版本)像:
if(string.IsNullOrWhiteSpace(txtQtyforAnalysis.Text))
{
//Don't do parsing
}
当没有任何东西时,您可以将默认值设置为0,假设您希望这样做。
decimal Qty = Convert.ToDecimal(txtQtyforAnalysis.Text == "" ? "0" : txtQtyforAnalysis.Text);
或者仅使用Decimal.TryParse
decimal Qty;
if (decimal.TryParse(txtQtyforAnalysis.Text, out Qty))
{
//it worked
}
什么你是否期望发生?如果你想 “” 来表示数量为0,然后做这样的事情:
Decimal qty = String.IsNullOrEmpty(txtQtyforAnalysis.Text) ? 0 : Convert.ToDecimal(txtQtyforAnalysis.Text);
试试这个
If IsNumeric(txtQtyforAnalysis.Text)
{
decimal Qty = Convert.ToDecimal(txtQtyforAnalysis.Text);
}
谢谢!它解决了我的问题:) –