В моей базе данных SQL Express есть несколько десятичных (18, 2) полей.
Теперь, когда некоторые агрегаты получают результат.Я иногда теряю 1 цент.
Скажем, результат должен быть 192,84 евро, моя программа показывает 192,83 евро, но если вы сделаете агрегаты с помощью калькулятора, вы увидите 192,84.
Любая идеяпочему это могло произойти.Я использую элементы управления DevExpress с форматом строки валюты.У меня есть идея изменить поля на десятичные (18,3), что вы думаете?
Спасибо
[РЕДАКТИРОВАТЬ]
Теперь, когда значения суммируются дляпервый раз показывает (например, 1.074,64 как 1.074,65), который сказал, что я могу видеть, что это округляется, но правильным является 2-й конец, 65.
Пример: 194,61 + 182,20 + 697,84= 1,074,65, но снижается до 1,074,64.Если вы попытаетесь получить эти значения снова, они будут отображаться правильно ....
Как вы думаете, мне следует округлять всегда?Каков наилучший метод округления для десятичных значений?
Некоторый код:
SumingTotal = AnObject.ListOfAType.Sum(p => p.DecimalProperty) +
(DecimalValue1 + DecimalValue2);
Должен быть равен 1.074,65, но показывает 1.074,64, если я выхожу из среды, показывая этизначения и попробуйте проверить их еще раз после некоторого сохранения в базе данных и пересчитать при вводе в форму показывает правильно, но в базе данных уже неправильно.
Спасибо.