Применяется следующее:
var rounded = Decimal.Round(7.635m, 2);
//rounded: 7.63
Это, для меня, неправильное и неожиданное поведение. Я бы предположил, что значение округлено до 7.64.
Чтобы достичь этого, я могу сделать:
var rounded = Decimal.Round(7.635m, 2, MidpointRounding.AwayFromZero);
//rounded: 7.64
Как это не является поведением Decimal.Round
по умолчанию? Хорошая причина для этого?