0
我的值在數據庫中存儲爲0.05和0.10。我創建使用C#代碼中使用,以獲得在該列表中的這些值的列表:數據類型雙截斷精度
foreach (var objST in obj.LstTerms)
{
SubcriptionTermsModel objSubcriptionTerms = new SubcriptionTermsModel();
objSubcriptionTerms.DiscountRate = objST.DiscountRate;
}
其中DiscountRate是double類型。 但是,當創建一個列表的值0.10被截斷爲0.1我無法比較我的觀點。 請幫我解決這個問題。
'0.10'和'0.1'在數值上相等的;沒有辦法區分這兩者。創建字符串表示時可能會出現您的問題。你需要指定你需要兩位十進制數字;例如,使用'num.ToString(「F2」)'。 – Douglas
0.10 == 0.1,至少在過去的幾百年裏是這樣的。你可能在你的視圖上比較字符串,放一些更相關的代碼,包括你的表模式。 – Anri
實際上'0.1'不能用'double'表示。最接近'0.1'的是'0.10000 00000 00000 00555 11151 23125 78270 21181 58340 45410 15625'。我認爲你將需要重新校準你對二進制浮點可以爲你做什麼的期望。 –