繁体   English   中英

int.Parse(textBox1.Text)错误

[英]int.Parse(textBox1.Text) error

我收到错误int pocet = int.Parse(textBox1.Text);

它说数据格式有些错误,但是我只在TextBox1中写自然数

我可能会使用TryParse方法,该方法不会在有不良数据时不会引发异常,但是将允许您使用控制流和逻辑来处理它:

  int number;
  bool result = Int32.TryParse(TextBox.Text.Trim(), out number);
  if (result)
  {
     //Carry On/    
  }
  else
  {
     //Handle input error
  }

我怀疑您那里有一个空字符串,开头或结尾都有空格,或者您正在用数千个分隔符书写。

您可以指示Int32.Parse方法处理以下某些情况:

Int32.Parse(
   "  -12,340  ",
   NumberStyles.AllowLeadingWhite |
   NumberStyles.AllowThousands |
   NumberStyles.AllowTrailingWhite |
   NumberStyles.AllowLeadingSign,
   CultureInfo.CurrentCulture));

请注意,最后的当前区域性很重要,因为千位分隔符会有所不同,具体取决于用户将其计算机设置为何种区域性。

但是,这仍然无法处理空字符串-只需在执行解析之前检查字符串是否为空即可。

如果您使用自然数,则使用

NumericUpDown控件

int pocet = int.Parse(numericUpDown1.Value.ToString());

我也有同样的问题。...请确保您使用正确的Cap编号
9和
9
第一个有效,第二个无效!

希望这可以帮助

@txshon

尝试:

int intValueFromTbx = Convert.ToInt32(textBox1.Text)

尝试使用

Convert.ToInt32(textBox1.Text);

还要进行调试,以确保转换时textBox1.Text中只有整数。

使用此方法:

int pocet = Int32.Parse(TextBox1.Text.ToString());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM