Я пытаюсь округлить десятичное число, но обычно происходит то, что если число предполагает, что 40.40
оно остается в 40
, и если оно 40.60
увеличивается, 41
мой код выглядит следующим образом:
decimal price = 13224.60m;
int aux = (int) Math.Round(Convert.ToDouble(price), 0, MidpointRounding.ToEven);
как этот код, если я его выполняю, дает мне результат 13225
, но если я изменю значение price
a 13224.40
:
decimal price = 13224.40m;
int aux = (int) Math.Round(Convert.ToDouble(price), 0, MidpointRounding.ToEven);
дает мне результат 13224
, и я хочу, чтобы я всегда округлял его, то есть чтобы в любом из двух случаев я округлял его до 13225
.
есть ли способ сделать это? И если есть, то как будет реализовываться?
Вы можете использовать:
В C# есть два метода: первый округляет входное значение до ближайшего большего
Math.Ceiling(decimal)
целого числа , а второй округляет входное значение до ближайшего меньшего целого числа , см. следующие примеры:Math.Floor(decimal)