Характер округления
Рассмотрим задачу округления числа, которое содержит дробь, скажем, до целого числа. В этом случае процесс округления состоит в том, чтобы определить, какое целое число лучше всего представляет число, которое вы округляете.
При обычном или «арифметическом» округлении ясно, что 2,1, 2,2, 2,3 и 2,4 округляются до 2,0; и 2,6, 2,7, 2,8 и 2,9-3,0.
Это оставляет 2,5, что не ближе к 2,0, чем к 3,0. Вы можете выбрать между 2,0 и 3,0, в любом случае будет одинаково.
Для минус числа -2,1, -2,2, -2,3 и -2,4, станет -2,0; и -2,6, 2,7, 2,8 и 2,9 при арифметическом округлении станут -3,0.
Для -2,5 необходим выбор между -2,0 и -3,0.
Другие формы округления
«Округление» берет любое число с десятичными знаками и делает его следующим «целым» числом. Таким образом, не только 2,5 и 2,6 округления до 3,0, но и 2,1 и 2,2.
Округление смещает положительные и отрицательные числа от нуля. Например. 2,5-3,0 и -2,5-3,0.
«Округление» усекает числа, отсекая ненужные цифры. Это приводит к смещению чисел к нулю. Например. 2,5-2,0 и -2,5-2,0
В «округлении банкира» - в его наиболее распространенной форме - округляемое число 0,5 округляется в большую или меньшую сторону, так что результатом округления всегда является четное число. Таким образом, 2,5 округляется до 2,0, от 3,5 до 4,0, от 4,5 до 4,0, от 5,5 до 6,0 и так далее.
«Альтернативное округление» чередует процесс для любого .5 между округлением вниз и округлением вверх.
«Случайное округление» округляет .5 вверх или вниз на совершенно случайной основе.
Симметрия и асимметрия
Функция округления называется «симметричной», если она либо округляет все числа от нуля, либо округляет все числа до нуля.
Функция является «асимметричной», если округляет положительные числа до нуля и отрицательные числа от нуля. Например. От 2,5 до 2,0; и от -2,5 до -3,0.
Также асимметричная функция округляет положительные числа от нуля и отрицательные числа до нуля. Например. От 2,5 до 3,0; и от -2,5 до -2,0.
В большинстве случаев люди думают о симметричном округлении, где -2,5 будет округлено до -3,0, а 3,5 округлено до 4,0. (в C #Round(AwayFromZero)
)