Problems bluetoothing float values
Two problems:

Your first program sends an ASCII representation of the temperature with no line ending.  So after a few readings you get something like:

20.2520.2520.5021.0021.25


etc.  You need some line endings in there to break them up.

Secondly your second program reads one byte at a time as a number (float) and prints it - so would get something like:

50.00
48.00
46.00
50.00
53.00
50.00
48.00
... etc ...


You need to, in association with sending line endings in your first program, read each character of a single line either into a string and then parse that as a float (with dtostrf()) or directly into a float using a state machine.

You can read more about working with serial here and working with a number reading state machine here.