Moving a label by less than a pixel is rather pointless. As Philippe suggests, you should scale the numbers first so that the position is meaningful and the user can see that it has moved.
To actually perform the cast you do
label.Location = new Point((int)x, (int)y);
label.Top = (int)y; label.Left = (int)x;
But when x and y are around 0 this will result in a non moving label.