Java LERP but with integer values

I have a formula which returns a Lerp Vector3 value in integers but the problem is it never reaches the desired target value. It’s converting to pixel values first by multiplying by PPM which is 32.

private Vector3 lerp(final Vector3 source, final Vector3 target, float alpha) {     Vector3 sourcePPM = new Vector3(source.x * PPM, source.y * PPM, 0);     Vector3 targetPPM = new Vector3(target.x * PPM, target.y * PPM, 0);     sourcePPM.x += Math.round(alpha * (targetPPM.x - sourcePPM.x));     sourcePPM.y += Math.round(alpha * (targetPPM.y - sourcePPM.y));     source.x = sourcePPM.x / PPM;     source.y = sourcePPM.y / PPM;     source.z = 0;     return source; } 

So for example with lerp(new Vector3(0.0, 0.0, 0.0), new Vector3(26.0, 29.0, 0.0), 0.06f), the final result is:

Target destination: (26.0,29.0,0.0) Actual final destination: (25.75,28.75,0.0) 

Falling short of the target destination. If I don’t round the values then it gets there fine but I need it to be in whole pixels.