我有一個字符串「-4.00%」,我需要將其轉換爲小數,以便我可以將其聲明爲變量並稍後使用它。該字符串本身在字符串[]行中找到。我的代碼如下:C#Regex.Match to decimal
foreach (string[] row in rows)
{
string row1 = row[0].ToString();
Match rownum = Regex.Match(row1.ToString(), @"\-?\d+\.+?\d+[^%]");
string act = Convert.ToString(rownum); //wouldn't convert match to decimal
decimal actual = Convert.ToDecimal(act);
textBox1.Text = (actual.ToString());
}
這會導致「輸入字符串格式不正確」。有任何想法嗎?
謝謝。
的可能重複[如何將百分比字符串轉換爲double?](http://stackoverflow.com/questions/2171615/how-to-convert-percentage-string-to-double) –
假設'act'在最後包含一個帶有百分號的字符串?由於顯而易見的原因,這不能被解析爲小數。修改您的正則表達式使用捕獲組(以便捕獲值但不是百分比)並轉換捕獲的值 – WickyNilliams
請參閱我的回答以獲得上述完整解決方案 – WickyNilliams