我有以下LINQ聲明:C#Convert.ToDouble(值)LAMBDA LINQ聲明
Items = Items.Where(p => p.LeadDatas.Any(
q =>
q.LeadField.Name == descriptor.Name &&
Convert.ToDouble(q.Value) == Convert.ToDouble(value)));
的q.Value
是雙重的字符串值,value
也是雙重的字符串值,都這些需要轉化爲雙打,使他們可以比較平等。
當我調試了這個LINQ聲明,我得到了以下的SQLException:
錯誤轉換數據類型爲varchar浮動
我不知道爲什麼它是不是讓我做這,但我想知道什麼是修復,我需要我的兩個值在這裏進行比較平等。
它試圖在SQL中執行它非常有可能 - 它完全肯定是100%(請參閱錯誤消息) – Jeff
@ JeffN825:我的觀點是可能試圖執行「固定」值的轉換是問題,而不是嘗試轉換數據庫中的數據。將編輯澄清。 –
對於我自己的教育,爲什麼比較雙打不好?由於陳舊的「小數」問題? (http://en.wikipedia.org/wiki/Floating_point#Accuracy_problems) – Jeff