(int)Math.Round(myNumber, 0)
Do I use one of these then cast to an Int?
Yes. There is no problem doing that. Decimals and doubles can represent integers exactly, so there will be no representation error. (You won't get a case, for instance, where Round returns 4.999... instead of 5.)
You can cast to an int provided you are sure it's in the range for an int (Int32.MinValue to Int32.MaxValue).
Off the top of my head:
float fl = 0.678;
int rounded_f = (int)(fl+0.5f);
The easiest is to just add 0.5f
to it and then cast this to an int.
Source: Stackoverflow.com