失敗。我有我幾乎可以肯定地值的列表是有效的(因爲他們從我們的系統中的另一個組件),但我想,以確保有適當的錯誤搬運就位。的TryParse與我有越來越的TryParse爲我正常工作的問題負數
這裏是我的價值觀的一個例子列表:
20.00
20.00
-150.00
,這裏是我原來寫的方法:
private decimal CalculateValue(IEnumerable<XElement> summaryValues)
{
decimal totalValue = 0;
foreach (XElement xElement in summaryValues)
{
decimal successful;
Decimal.TryParse(xElement.Value, out successful);
if (successful > 0)
totalValue += Decimal.Parse(xElement.Value);
}
return totalValue;
}
變量 '成功'爲-150.00返回false,所以我添加了NumberStyles:
private decimal CalculateValue(IEnumerable<XElement> summaryValues)
{
decimal totalValue = 0;
foreach (XElement xElement in summaryValues)
{
decimal successful;
Decimal.TryParse(xElement.Value, NumberStyles.AllowLeadingSign, null, out successful);
if (successful > 0)
totalValue += Decimal.Parse(xElement.Value, NumberStyles.AllowLeadingSign);
}
return totalValue;
}
然而,現在我有在的NumberStyles那裏,沒有數字將解析!我對IFormatProvider設置爲null感到滿意,因爲這些都在我們的系統中。有沒有人看到我可能做錯了什麼?
你爲什麼要分析它的兩倍? – SLaks