2017-07-05 31 views
-5

我有這樣的代碼,但是,但是當我運行該程序給了我這個錯誤System.FormatException:輸入字符串的不正確的格式」。異常轉換ToInt32丹斯C#

 public static void Main(string[] args) 
    { 

     string a =TextFormater("Teste teste "); 

     Console.WriteLine(a); 
    } 
    public static string TextFormater(string ChaineTextArea) 
    { 
     string val = string.Empty; 
     string Valreturn = string.Empty; 
     int result; 
     for (int i = 0; i <= ChaineTextArea.Length; i++) 
     { 
      val = ChaineTextArea.Substring(i, 1);  
      var chars = val.ToCharArray(); 

      result = Convert.ToInt32(val); 

      if (result != 13) 
      { 
       Valreturn= val; 
      } 

      else 
      { 
       Valreturn= "<br>" + val; 
      } 
     } 
     return Valreturn; 
    } 
+0

錯誤有效的格式:System.FormatException:輸入字符串的不正確的格式。 at System.Number.StringToNumber(String str,NumberStyles options,NumberBuffer&number,NumberFormatInfo info,Boolean parseDecimal) at System.Number.ParseInt32(String s,NumberStyles style,NumberFormatInfo info) at System.Convert.ToInt32(String value ) at Rextester.Program.TextFormater(String ChaineTextArea) at Rextester.Program.Main(String [] args) – Narjis

+3

你認爲什麼「Teste teste」是數字? –

+0

嘗試將字母轉換爲數字? – Sujith

回答

-1

嘗試轉換int.Parse(val)

Int32.TryParse(val, out number); 
-1

我不知道你想達到的目標。如果您正試圖將字符串轉換爲整數,那麼它是無效的轉換,但你想,如果VAL也許int或字符串,然後嘗試使用int.TryParse

0

您輸入不轉換爲整數格式無效。但是如果你需要這些字符的ASCII值,可以通過這個來排列

string input = "Teste teste "; 
var values = Encoding.ASCII.GetBytes(input); 
foreach(var item in values) 
{ 
    Console.WriteLine(item); 
} 
Console.ReadLine(); 

希望對你有幫助。

+0

那麼,你能告訴我什麼是問題嗎?和他試圖做的 –

+0

我敢打賭,他不知道他想做什麼。那麼我認爲他現在會想出一些想法 – shahjahan

+0

所以你在這裏回答一個未知的問題,不是嗎? –

0

是不是我這個代碼校正,工作

val = ChaineTextArea.Substring(i, 1);  
char []chars = val.ToCharArray(); 
result = Convert.ToInt32(chars[0]);