Unable to read correct voltage

Hi
Im trying to read the 3.3 v and it is displaying 3.0 on serial monitor. Im not sure whats wrong with my code thats causing it to round down to 3.0 instead of displaying 3.3 v.

The code below is shortened but is still displaying the same incorrect voltage. My original project has three different sensors for analog input A0,A1, and A2.

const int analogInPin0 = A0;  


float therm;
float temp;

void setup() {
  // initialize serial communications at 9600 bps:
  Serial.begin(9600); 
}

void loop() {

therm = analogRead(analogInPin0);
temp =  map(therm,0,1023,0,5);
 
  Serial.print(" temp = " );
  Serial.println(temp);


  delay(50);                     
}

You are reading an int, and then doing integer arithmetic to arrive at a value between 0 and 5, and expecting something other than integer results. It is you expectations that are wrong, not the code.

Don't use map() if you don't want an integer result.