In a simple platform game I'm making, when the player lands after he jumps he goes a small amount into the floor (or platform). I understand this is because his downward velocity per frame is not perfectly rounded to the y coordinate of the floor.
Although I understand the problem I'm not sure how to fix it. I could work out the players next position and only move to it if it isn't under the floor's y position, but that would result in the player landing slightly above the floor.
Is there a way to make the player always land precisely on the floor?