Problema conversione variabile di tipo FLOAT in STRING (utilizzo dtostrf() )

Aggiornamento ho modificato il codice come segue:
In pratica ho scomposto la parte decimale e quella intera delle variabili float (ax e ay) in due variabili intere,dopodiche convertite in stringhe tramite la funziona ITOA.Ho due problemi.
In caso di valori negativi tipo -1,43,visualizzo 1,-43! Altro problema,ho provato a concatenare le stringhe tramite la funzione strcat(),ma ottengi l'output:

0,13g 0,31gDati rilevati 000
23

Qual e' la sintessi esatta di strcat?

#include <SD.h>
#include <Wire.h>
#include "RTClib.h"
#include <SPI.h>
#include "ADXL335.h"

ADXL335 accelerometer;

RTC_DS1307 RTC;

File Dati; // La variabile di tipo file che useremo per il log

const int chipSelect =10;

static char  axb[100];
static char  ayb[100];
static float ax,ay,az;

unsigned long time; // serve per misurare il tempo di esecuzione

void setup ()

{
  Serial.begin(9600);
  
  Wire.begin(); // inizializziamo la libreria WIRE per usare
  RTC.begin(); //il Real Time clock basato su ds1307
  accelerometer.begin();
  
  if (! RTC.isrunning()) 
  
  {
    Serial.println("RTC NON STA FUNZIONANDO");
    
    }
    
  Serial.print("\nSto verificando la presenza della scheda..\n");
  pinMode(10, OUTPUT); // fa funzionare la sdlib
  
  if (!SD.begin(chipSelect))
  
  {
     Serial.println("SD card non trovata");
     return;
     
  }
 else 
   {
     Serial.println("Scheda inserita e funzionante");
     Serial.println();
    
   }
}
void loop ()

{
  // MISURO IL TEMPO DI ESECUZIONE 
  Serial.print("Time: ");
  time = millis();
  //prints time since program started
  Serial.println(time);
  
   
    DateTime now = RTC.now(); // leggiamo l'ora
    accelerometer.getAcceleration(&ax,&ay,&az);
  
   
   int Hix=ax;
   int Lox = ax*100-Hix*100;
   itoa(Hix,axb,10);
   Serial.print(Hix);
   Serial.print(",");
   itoa(Hix,axb,10);
   Serial.print(Lox);
   Serial.print("g");
   Serial.print("\t");
   int Hiy=ay;
   int Loy = ay*100-Hiy*100;
   itoa(Hiy,ayb,10);
   Serial.print(Hiy);
   Serial.print(",");
   itoa(Hiy,ayb,10);
   Serial.print(Loy);
   Serial.print("g");
   
   
   Dati = SD.open("datalog.txt", FILE_WRITE); // apriamo il file in scrittura
  
  if (Dati)
  {
   Dati.println(strcat(axb,ayb));  // Scriviamo in un sol colpo i dati sul file
   Dati.close();     // chiudiamo e trasferiamo su SD
   Serial.print("Dati rilevati \t");
   Serial.println(strcat(axb,ayb));
  }
  else
  {
    Serial.println("Errore nell'apertura di datalog.txt");
  } 
  delay (0);  // cadenza dellascrittura dei dati
  Serial.println(time);
  }