Your slave is sending an array of characters and your master is reading the ASCII values of those characters.
If you send 25.43, Serial.println will send 7 characters 2, 5, ., 4, 3, carriage return and a newline.
The master will read them as 50, 53, 46, 52, 51, 13 and 10. Your code then prints:
50.00
53.00
46.00
52.00
51.00
13.00
10.00
On your master, youthe loop() should replacelook like:
tempCvoid =loop() {
if (Serial.readavailable();) {
with
tempC char c = Serial.parseFloatpeek(); // just look at the next character on the serial buffer
if (c == '\r' || c == '\n') // ignore the carriage return and newline characters
Serial.read(); // remove carriage returnthe character from the serial buffer by reading it
else {
tempC = Serial.readparseFloat(); // removeread newlineand characterparse fromthe string representing the serialfloat buffervalue
Serial.println(tempC);
}
}
}