2
下面的LINQ查詢工作正常,沒有.ToString("N2")
部分。它也工作正常使用.ToString()
。當添加("N2")
而不是()
時,它不會返回任何異常。爲什麼?LINQ - ToString(「N2」)失敗無例外?
解決方法的問題:打印FundFee
數字時沒有格式化它們被打印爲9.00000000e-3。這隻發生在LINQ查詢中,CurrentCulture
是en-US
。任何方式來改變這個非電子記法?然後,一個解決辦法可能是使用.ToString().SubString(0,4)
這會工作,因爲所有的數字是其他任何改進意見1.
介於0和也歡迎:)
List<FundStairItem> listFunds = (from fundInfoISIN in amdw.FundsInfos.Where(f => f.Type == 1)
from fundInfoName in amdw.FundsInfos.Where(f =>f.Type == 2)
from fundFee in amdw.FundFees
from securities in amdw.Securities
where securities.ISIN == fundInfoISIN.Value && fundInfoISIN.Value != null && fundInfoISIN.PortfolioId == fundInfoName.PortfolioId && fundFee.ISIN == securities.ISIN
select new FundStairItem
{
Key = fundInfoISIN.Id,
Name = (fundInfoName.Value != "" && fundInfoISIN.Value != "") ? fundInfoName.Value
+ " " + fundFee.Class.Trim() + " (Fee: " + (fundFee.Fee*100).ToString("N2") + "% , ISIN:" +fundInfoISIN.Value +")" : securities.Name
}).GroupBy(p=>p.Key).Select(g=>g.First()).ToList();
編輯(從評論添加信息):
在查詢之前添加此項:amdw.Log = Console.Out
給出了輸出:控制檯中的System.Data.Linq.dll中發生了類型爲「System.NotSupportedException」的第一次機會異常。
你得到什麼異常? – Oded
就是這樣,沒有例外。它可能是LINQ中的錯誤,或者是不可能的? – DavveK
String.Format「Name」表達式呢? – Humberto