how do arduinos round?

lets say you have an int variable and pass it to a float function. how does it return? does it round like we would (>= .5 rounded up and < .5 rounded down) or does it just hack off anything past the decimal point?
for example:

int i = 50;
i = doSomething(i);

float doSomething(int i) {
  i += 5.5;
  return i;
}

When converting a float to an integer, no rounding is done. The decimal is stripped off like you expected.

ok great, thanks!