我有一个数据库,我将该数据库中的产品价格分配到文本框中。每当我尝试将文本框值转换为int时,我都会收到Format异常。我使用以下代码进行转换:
unitsA = Int32.Parse(units.Text);
数据库值很小。
答案 0 :(得分:3)
如果units.Text的值无法转换为int
,您将获得异常。
您可以使用TryParse
代替Parse
来处理异常。
int number;
if(!int.TryParse(units.Text, out number))
{
//error handling
}
请查看MSDN以获取有关TryParse
的更多信息。
答案 1 :(得分:1)
绝不相信用户输入。
使用Int.TryParse
代替Int.Parse
这样,如果输入不能被解析为int值,则不必处理异常。
将unitsA = Int32.Parse(units.Text);
替换为:
int unitsA;
if(Int32.TryParse(units.Text, out unitsA)
{
// Do your stuff.
}
else
{
// Alert the user.
}