Вы используете M
только для числового литерала, когда вы разыгрываете его просто:
decimal dtot = (decimal)doubleTotal;
Обратите внимание, что число с плавающей запятой не подходит для сохранения точного значения, поэтому если вы сначала добавитечисла вместе, а затем преобразовать в Decimal
вы можете получить ошибки округления.Вы можете преобразовать числа в Decimal
, прежде чем сложить их вместе, или убедиться, что числа не являются числами с плавающей запятой.