Please do your self the favour and try to look at what your code does and combine your findings with the answers you have gotten. You question has been solved multiple times, it is up to you to implement it.
Why are you assigning minVal to maxVal in the following code?
if(calibrating)
{
if(theVal > maxVal)
maxVal = minVal;
if(theVal < minVal)
minVal = theVal;
}
Why are you printing the unassigned value "vin" in the code below? And WHY WHY WHY wont you understand, that an integer HAS NO DECIMALS and the second parameter of "print()" HAS NOTHING TO DO WITH DECIMALS?
lcd.print(vin, 3); // the extra parameter 2 indicates the decimals
lcd.print(" ");
lcd.print(minVal, 1);
lcd.print("-");
lcd.print(maxVal, 1);
Sorry for shouting, but it is just terribly annoying that you refuse to mind the suggestions given..