A: Banker's rounding stipulates that any number that has a fractional
amount that is exactly 0.5 gets rounded to the nearest even number.
When you want to round up, here is how it is done:
function RoundUp(TheVal: double): longint;
begin
result := trunc(TheVal);
if frac(TheVal) >= 0.5 then inc(result);
end;