trasmissione UDP

trasmetto e ricevo , ma ho problemi con i numeri

con questo trasmetto

Udp.write("temp...");
    Udp.write(val1= ((3.0 * analogRead(A0)*100.0)/1024.0));
    Udp.write(" input0...");
    Udp.write(statoD0);
    
    Udp.endPacket();

il testo arriva giusto , ma i numeri me li converte in caratteri

con questo ricevo

if (packetSize)
  {
    // receive incoming UDP packets
    Serial.printf("Received %d bytes from %s, port %d\n", packetSize, Udp.remoteIP().toString().c_str(), Udp.remotePort());
    int len = Udp.read(incomingPacket, 255);
    if (len > 0)
    {
      incomingPacket[len] = 0;
    }
    Serial.printf("UDP packet contents: %s\n", incomingPacket);}

ho provato con int(X), char(X) per la conversione quando trasmetto , ma il risultato è lo stesso.

non riesco a capire dove sbaglio, comincio ad avere il sospetto che devo convertire quando arrivano i dati non quando li trasmetto