Вероятно, потому что это - лучший алгоритм. В течение многих выполненных округлений Вы составите в среднем, который весь.5 заканчивает тем, что округлил одинаково вверх и вниз. Это дает лучшие оценки фактических результатов, если Вы, например, добавляя набор округленных чисел. Я сказал бы, что даже при том, что это не то, что некоторые могут ожидать, это - вероятно, более корректная вещь сделать.
В то время как я не могу ответить на вопрос, "Почему разработчики Microsoft выбирали это в качестве значения по умолчанию?", я просто хочу указать, что дополнительная функция является ненужной.
Math.Round
позволяет Вам определять MidpointRounding
:
Децималы в основном используются для денег ; при работе с деньгами часто используется банковское округление. Или можно сказать.
В основном банкирам нужны десятичный тип; следовательно "Банковское округление"
Банковское округление имеет то преимущество, что в среднем вы получите тот же результат, если вы:
Округление до сложения сэкономило много работы за дни до компьютеров.
(В Великобритании, когда мы ездили в банк с десятичной дробью, мы не имели дело с половиной пенсов, но в течение многих лет все еще существовала монета за полпенса, и в магазинах часто цены заканчивались на полпенса - так много округлений)
.