You write the constant "54.3" in your code - what is actually stored (and how) is a different matter.
> ...and the problem is that when I save it as float it becomes the value 54.299999
I suspect with "becoming the value 54.299999" you mean printing out as double number, probably using printf().
Not sure if you are aware, but the POSIX / standard library function printf() only knows of double arguments, and will convert floats accordingly. For the clib variants coming with MCUXpresso, you would need to check the manual, what printf and similar functions actually implement.
However, reducing the precision (e.g. with "%.1f" instead of "%f") will give you a rounded result, i.e. "54.3" instead of "54.299999" in your case.
Example:
float fn = 54.3f;
printf "float number = %.1f ", fn);