Метод ОКРУГЛЕНИЯ чисел С#

метод ОКРУГЛЕНИЯ чисел С#
Смысл такой-

присваиваются значения в переменную А взависимости от значений переменной Б

если Б = 1 или 2, то А = 1
если Б = 3 или 4, то А =2
Б = 5, 6 А = 3
иТД
тоже самое и с отрицатильными числами
Б = -1 , -2 А = -1
Б = -3 -4 А = -2

Какбы все просто, нада разделить Б на 2 и округлить до целого

Но Math.Ceiling не подходит =( при округлении 0,5 он дает 0 а мне нужно получит 1
у Math.Round таже продлема

грубо говоря мне нада взять МОДУЛЬ числа и округлить его до БОЛЬШЕГО целого числа.

Естьли такой метод который округляет и 0,5 = 1 так и -0,5 = -1 ???
или придется в ручную делать через модуль числа???

  • Этот метод будет.. . хм.. . неоднородным. Область, отображающаяся в 0 будет меньше областей, отображающихся в другие числа.
    Но никто не запрещает воспользоваться округлением, модулем и знаком:
    Math.Sign(x)*Math.Round(Math.Abs(x));
  • А так не проще будет? :

    a=(b + (b&1))/2

    Это для положительных, для отрицательных ты уж сам догадайся...