나는 변수로 선언하고 나중에 사용할 수 있도록 10 진수로 변환해야하는 "-4.00 %"문자열이 있습니다. 문자열 자체는 string [] 행에 있습니다. 내 코드는 다음과 같습니다.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());
}
결과적으로 "입력 문자열의 형식이 올바르지 않습니다." 어떤 아이디어?
감사합니다.
가능한 중복 [방법 백분율 문자열을 이중으로 변환 하시겠습니까?] (http://stackoverflow.com/questions/2171615/how-to-convert-percentage-string-to-double) –
아마도'act'는 끝에 퍼센트 기호가있는 문자열을 포함하고 있을까요? 명백한 이유 때문에 이것은 십진법으로 해석 될 수 없다. 정규식을 수정하여 캡처 그룹을 사용하여 (백분율이 아닌 값을 캡처하도록) 해당 캡처 값을 대신 변환하십시오. – WickyNilliams
위에서 설명한 전체 솔루션을 보려면 아래에서 내 대답을 참조하십시오. – WickyNilliams