Rounding is necessary.
Is this solver parameter merely used for integrality check?
The solver parameter is used to define which solutions are feasible. A tolerance of 1e-5 means that GLPK thinks a value is “integer” if it is within +/- 1e-5 of a true integer. (Tolerances are needed because solvers do not use exact arithmetic.)