int.ParsetextBox1.Text错误

问题描述

| 我收到错误
int pocet = int.Parse(textBox1.Text);
它说数据格式有些错误,但是我只在TextBox1中写自然数     

解决方法

我怀疑您那里有一个空字符串,在开始或结尾有空格,或者您正在用数千个分隔符书写。 您可以指示Int32.Parse方法处理以下某些情况:
Int32.Parse(
   \"  -12,340  \",NumberStyles.AllowLeadingWhite |
   NumberStyles.AllowThousands |
   NumberStyles.AllowTrailingWhite |
   NumberStyles.AllowLeadingSign,CultureInfo.CurrentCulture));
请注意,最后的当前区域性很重要,因为千位分隔符会有所不同,具体取决于用户计算机设置的区域性。 但是,这仍然无法处理空字符串-只需在执行解析之前检查字符串是否为空即可。     ,我可能会使用TryParse方法,该方法不会在出现不良数据时不会引发异常,但是将允许您使用控制流和逻辑来处理它:
  int number;
  bool result = Int32.TryParse(TextBox.Text.Trim(),out number);
  if (result)
  {
     //Carry On/    
  }
  else
  {
     //Handle input error
  }
    ,如果您使用自然数,则使用 NumericUpDown控件
int pocet = int.Parse(numericUpDown1.Value.ToString());
    ,尝试:
int intValueFromTbx = Convert.ToInt32(textBox1.Text)
    ,尝试使用   Convert.ToInt32(textBox1.Text); 还要进行调试以确保转换时
textBox1.Text
中只有整数。     ,使用此方法:
int pocet = Int32.Parse(TextBox1.Text.ToString());
    ,我也有同样的问题。...请确保您使用正确的Cap编号 9  9 第一个会工作,第二个不会! 希望这可以帮助 @txshon