У меня есть значения, хранящиеся в базе данных как 0,05 и 0,10. Я создаю список, используя код С#, чтобы получить эти значения в списке, используя:
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")
. - person Douglas   schedule 24.02.20140.1
не может быть представлено вdouble
. Ближайшимdouble
к0.1
является0.10000 00000 00000 00555 11151 23125 78270 21181 58340 45410 15625
. Я думаю, вам нужно будет пересмотреть свои ожидания относительно того, что может сделать для вас двоичная плавающая точка. - person David Heffernan   schedule 24.02.2014