首页 > 解决方案 > C# 如何修复错误:“输入字符串的格式不正确。” 在文本框中

问题描述

在下面的代码中,我正在尝试验证文本框(txt_quantity 和 txt_discount)

但是MessageBox.Show("Cannot be empty");我没有得到这个,而是得到了错误

('输入字符串的格式不正确。')

我在这里忘记了什么吗?

标签: c#winforms

解决方案


使用 NumericUpDown 而不是文本框来捕获整数/十进制值。它为您处理所有验证,以阻止用户输入非数字值。您可以设置所需的最大值和最小值,并且不必担心没有输入任何值,因为 NumericUpDown 将始终具有默认值。

如果您使用整数,则只需在检索值时转换为 int,否则返回小数。所以你的代码是:

Quantity = Convert.ToInt32(numericupdown1.Value);
Discount = numericupdown2.Value;

如果您一心想要使用文本框,那么您需要删除空格.Trim()

Quantity = Convert.ToInt32(txt_quantity.Text.Trim());

int.TryParse改为使用;

int value = 0;
if (int.TryParse(txt_quantity.Text.Trim(), out value)
{
    // Successful conversion so value now contains your integer
}

你可以对小数做同样的事情。


推荐阅读