关键代码:
class="csharpcode"> /// <summary> /// 将千分位字符串转换成数字 /// 说明:将诸如"–111,222,333的千分位"转换成-111222333数字 /// 若转换失败则返回-1 /// </summary> /// <param name="thousandthStr">需要转换的千分位</param> /// <returns>数字</returns> public static int ParseThousandthString(this string thousandthStr) { int _value = -1; if (!string.IsNullOrEmpty(thousandthStr)) { try { _value = int.Parse(thousandthStr, NumberStyles.AllowThousands | NumberStyles.AllowDecimalPoint | NumberStyles.AllowLeadingSign); } catch (Exception ex) { _value = -1; Debug.WriteLine(string.Format("将千分位字符串{0}转换成数字异常,原因:{0}", thousandthStr, ex.Message)); } } return _value; }
单元测试:
[TestMethod()]
public void ParseThousandthStringTest()
{
string _thousandthStr = "-111,222,333";
int _expected1 = -111222333;
int _actual1 = StringToolV2.ParseThousandthString(_thousandthStr);
Assert.AreEqual(_expected1, _actual1);
}
希望有所帮助!