【问题标题】:Convert textbox value to int [closed]将文本框值转换为 int [关闭]
【发布时间】:2025-12-11 17:05:01
【问题描述】:

我有一个数据库,并将该数据库中的产品价格分配到一个文本框中。每当我尝试将文本框值转换为 int 时,都会收到 Format 异常。我使用以下代码进行转换:

unitsA = Int32.Parse(units.Text);

并且数据库值是一个smallint。

【问题讨论】:

标签: c# wpf database exception formatexception


【解决方案1】:

如果units.Text 的值不能转换为int 你会得到一个异常。

您可以使用TryParse 而不是Parse 来处理异常。

int number;
if(!int.TryParse(units.Text, out number))
{
    //error handling
}

查看MSDN 以获取有关TryParse 的更多信息。

【讨论】:

  • 我这样做了,但是当我尝试在 if 条件内对其进行格式化时,我仍然遇到异常。
  • 在我的示例中,当您无法解析时,if 条件匹配。也许你还没有认出来!在我的回答中。当您可以解析它时,您的结果将存储在数字中。这就是为什么我从 MSDN 添加到 TryParse 方法的链接。看看吧。
【解决方案2】:

永远不要相信用户输入。
使用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.
}

【讨论】:

    最近更新 更多