Break data from receiver on temperature and humidity

I already wrote this subject, but my luck did't come yet. Maybe this time I will be more fortunate. I am using an transceiver RF24L01 on transmission and another transceiver RF24L01 on reception. I also use an DHT11 module which gets temperature and humidity data. My question is: how to perform an action to extract temperature and humidity separately from data on reception?

Forgot to add my sketches:

#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>

#include "DHT.h"

#define DHTPIN A0         // what pin we're connected to
#define DHTTYPE DHT11     // DHT 11

//#define DHTTYPE DHT22   // DHT 22  (AM2302)
//#define DHTTYPE DHT21   // DHT 21 (AM2301)

DHT dht(DHTPIN, DHTTYPE);

float h;
float t;

float BatteryVal;
float BatteryVolt;
int SolLightVal;

int Battery=A1;
int Switch=2;
int SolLight=A2;
RF24 radio(8, 10);     //digital pins for CE and SCN

const byte rxAddr[6] = "00001";

void setup()
{
  Serial.begin(9600);
  pinMode(SolLight, INPUT);
  pinMode(Switch, OUTPUT); 
  pinMode(Battery, INPUT);
  
  dht.begin();
  radio.begin();
  radio.setRetries(15, 15);
  radio.openWritingPipe(rxAddr);
  
  radio.stopListening();
}

void loop()
{
  battery();
  
  // Reading temperature or humidity takes about 250 milliseconds!
  // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
  h = dht.readHumidity();
  t = dht.readTemperature();
  
  if (isnan(t) || isnan(h)) {
    Serial.println("Failed to read from DHT");
  } 
  
  const float dataTemp = t;
  radio.write(&dataTemp, sizeof(dataTemp));
  
//  const char CarriageReturn[]="\r";
//  radio.write(&CarriageReturn, sizeof(CarriageReturn));
  
  const float dataHumid = h;
  radio.write(&dataHumid, sizeof(dataHumid));
  
  delay(1000);

}
oid battery(){
BatteryVal=analogRead(Battery);
BatteryVolt=BatteryVal*9.00/1023;

SolLightVal=analogRead(SolLight);
SolLightVal=map(SolLightVal,0,1023,0,100);

Serial.print(SolLightVal);
Serial.print("     ");
Serial.println(BatteryVolt);

radio.write(&BatteryVolt, sizeof(BatteryVolt));


if(BatteryVolt<6.00 && SolLightVal<=60 ){
  digitalWrite(Switch, HIGH);
  Serial.println("CHARGING");
}

if(BatteryVolt>6.00 && SolLightVal>60){
  digitalWrite(Switch, LOW);
  Serial.println("NOT CHARGING");
}
}

and for reception:

/***********************8*
LIQUID CRYSTAL LCD LIBRARY
*************************/
#include <Wire.h>  // Comes with Arduino IDE
#include <LiquidCrystal_I2C.h>
/***********************8*
RF24L01 LIBRARY
*************************/
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>

LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // Addr, En, Rw, Rs, d4, d5, d6, d7, backlighpin, polarity

RF24 radio(8, 10);     //digital pins for CE and SCN

const byte rxAddr[6] = "00001";
float data = 0;

void setup()
{
  lcd.begin(16,2);         // initialize the lcd for 20 chars 4 lines
  lcd.clear();
  lcd.setCursor(2,0);
  lcd.print("METEO STATION");
  while (!Serial);
  Serial.begin(9600);
  
  radio.begin();
  radio.openReadingPipe(0, rxAddr);
  
  radio.startListening();
}

void loop()
{
  if (radio.available())
  {
    
    

    
//    char text[32] = {0};
//    radio.read(&text, sizeof(text));
//    if (text=="\r"){                          Sending CR if CR is detectable so setCursor(8,1) position
//    radio.read(&data, sizeof(data));
//    lcd.setCursor(8,1);
//    lcd.write(data);
//    }
    radio.read(&data, sizeof(data));
    Serial.print(data);
    Serial.print("     ");
    lcd.setCursor(6,1);
    lcd.print(data,0);
    delay(500);
//    Serial.print("C*");
//    Serial.print("%");
  }
}

I was trying to get some result playing with CR and once it detects it, the cursor on LCD is jumping on specific position lcd.setCursor(8,1), again its not promising.

Think about what the sender is sending.
radio.write(&BatteryVolt, sizeof(BatteryVolt));
radio.write(&dataTemp, sizeof(dataTemp));
radio.write(&dataHumid, sizeof(dataHumid));

Suppose that that was Serial.print() instead of radio.write(). What would you see on the Serial Monitor?

3.7120.0265.32

Now, how are you supposed to make sense of that?

Now, suppose that, instead, you had:

char voltStg[10];
char tempStg[10];
char humiStg[10];
char usefulStg[50];

dtostrf(BatteryVolt, 8, 2, voltStg);
dtostrf(t, 8, 2, tempStg);
dtostrf(h, 8, 2, humiStg);

sprintf(usefulStg, "<V: %s T: %s, H: %s>", voltStg, tempStg, humiStg);

radio.write(usefulStg, strlen(usefulStg));

That would send
<V: 3.71 T: 20.02 H: 65.32>

Now, can you see how you might extract useful information from that?