Задача вычисления суммы простых десятичных значений - PullRequest
0 голосов
/ 07 декабря 2010

У меня есть проект, в котором я получаю некоторые значения по некоторым сущностям и суммирую их в свойство другой сущности.

Теперь, если скажем, сумма (5,00 + 100,01 + 16,236 + 252,03) =373,27 на основе калькулятора Windows 7 и простой математики.

Но когда это происходит с кодом C #

entity.SumValue + = someEntity1.Value .... entity.SumValue + =someEntity2.Value ....

SumValue = 373,26

Я (но не во всех случаях) теряю цент (для евро): P

Любая идеяполучить то, что мне нужно?

Ответы [ 2 ]

1 голос
/ 07 декабря 2010

Если вы используете decimal, на самом деле невозможно, чтобы C # имел ошибки в вычислениях.(Я имею в виду, всегда есть предел точности, но не при наличии таких маленьких чисел с 3 цифрами после запятой ...)

Должна быть проблема в другом местеНапример, как создаются десятичные дроби?Обращались ли они когда-либо к двойникам и обратно, например, при чтении из базы данных?

0 голосов
/ 07 декабря 2010

С помощью следующего кода сумма равна 373.276

decimal sum = 0m;
sum += 5.00m;
sum += 100.01m;
sum += 16.236m;
sum += 252.03m;

Так в чем же разница с вашим?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...