下在C#中的問題(在VS 2015年社區工作):如何字符串轉換爲一個詮釋
首先,我相當新的C#,所以原諒我,如果這個問題將是一個容易解決。
我有一個接觸式傳感器給我一串數字(長度測量)。我用SystemPort方法讀取它們,並將它們切成我需要的子字符串(因爲字符串的開頭,「SR00002」對我來說是無用的)。
最後我最終得到了一個像「000.3422」或「012.2345」這樣的字符串。現在我想將該字符串轉換爲一個可以處理的固態int變量,意思是從中減去值等。
BSP:我想計算012.234 - 000.3422
我已經嘗試過解析和ConvertToInt(同時通過串迭代),但endresult始終是一個字符串(或代替,但我可以改變這種事前)。 。
string b = serialPort2.ReadLine();
string[] b1 = Regex.Split(b, "SR,00,002,");
string b2 = b1[1].Substring(1);
foreach (char c in b2)
{
Convert.ToInt32(c);
}
textBox2.Text = b2 + b2.GetType();
我知道,當B2將是int它不能在文本框進行打印,但後來生病照顧那個。
當一切相應轉換,生病外包轉化成其自己的方法=)
對GetType只是用於測試和作爲所述中僅示出System.String(我不想)。幫助將被大大簡化。我也瀏覽了搜索功能和谷歌,但無法找到任何幫助。我希望任何可能的幫手都有美好的一天,克里斯。
如果你想保留小數點,那麼你需要到'string'轉換爲'double',' 'decimal'或'float' ..看看'decimal.Parse'和'decimal.TryParse'https://msdn.microsoft.com/en-us/library/system.decimal.parse(v=vs .110).aspx和https://msdn.microsoft.com/en-us/library/9zbda557(v=vs.110).aspx(您也可以爲其他數字類型執行此操作) – KMoussa
b2是一個字符串,因此如果你做b2.GetType,你會得到結果字符串。你正在轉換字符串,但你沒有聲明與返回的任何東西來自ToInt32的teger();. –
感謝您的快速解答。我嘗試了decimal.TryParse。它在開始時削減了零點,但在回顧中可能實際上相當好,因爲這樣我就可以獲得傳感器讀取的信號量,這基本上就是我需要的=) –