簡體   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