Python-Arduino USB communication floats problem

I think that the problem is on arduino.

For e.g this prints 4411.29980 as python receives (so no serial crap) instead of 4411.3. If you round the data to 3 decimal places the result is 4411.300.

float data=4411.3;
void setup(){
  Serial.begin(9600); //Begin Serial
}

void loop()
{
  Serial.print(data,5);  // Print test variable as string
  Serial.println();
}