Round to nearest .5?

How do I take a float: x, and round it to the nearest .5? So if x is 5.1324 it would round to 5. But if x is 5.4216 it would round to 5.5 etc.

multiply it by 2, round, then divide by 2???

float number = 5.4216f;
number = (float)Math.Round(number, MidpointRounding.AwayFromZero) / 2;