A float data type is a 32-bit single-precision floating-point number, while a double data type is a 64-bit double-precision floating-point number. Doubles are more precise but take up more memory than floats.