.Net has built support for both rounding arithmetic and bankers:
//midpoint always goes 'up': 2.5 -> 3 Math.Round( input, MidpointRounding.AwayFromZero ); //midpoint always goes to nearest even: 2.5 -> 2, 5.5 -> 6 //aka bankers' rounding Math.Round( input, MidpointRounding.ToEven );
Even "rounding" is actually a default, although "from scratch" is what you learned at school.
This is due to the fact that under the hood, computer processors also round off bankers.
I would think that any line in the rounding format will round off bankers by default, right?
Keith source share