Using a SIM808 Shield. Trying to send the GPS as a text.

My problem is that the longitude and latitude are being sent as zeros rather than their actual figures.

Any help is welcome, thanks.

My code is

#include <DFRobot_sim808.h>
#include <SoftwareSerial.h>
//Mobile phone number,need to change
#define PHONE_NUMBER "**********"
DFRobot_SIM808 sim808(&Serial);

#define MESSAGE_LENGTH 160
char message[MESSAGE_LENGTH];
int messageIndex = 0;
char phoneRX[16];
char datetime[24];
float lat, lon;

void setup() {
  // put your setup code here, to run once:


  //mySerial.begin(9600);
  Serial.begin(9600);

  //******** Initialize sim808 module *************
  while(!sim808.init()) { 
      delay(1000);
      Serial.print("Sim808 init error\r\n");
  }

  //************* Turn on the GPS power************
  if( sim808.attachGPS())
      Serial.println("Open the GPS power success");
  else 
      Serial.println("Open the GPS power failure");

  
}

void loop() {
  // put your main code here, to run repeatedly:
 /* messageIndex = sim808.isSMSunread();
  Serial.print("messageIndex: ");
  Serial.println(messageIndex);
  if(messageIndex > 0){
    sim808.readSMS(messageIndex,message,MESSAGE_LENGTH,phone, datetime);
    if(message == "GPS"){
      GPSData();
    }
  }*/
     if(sim808.getGPS()){
    Serial.print("latitude :");
    Serial.println(sim808.GPSdata.lat,6);
    
   /* sim808.latitudeConverToDMS();
    Serial.print("latitude :");
    Serial.println(sim808.latDMS.degrees);*/


    Serial.print("longitude :");
    Serial.println(sim808.GPSdata.lon,6);

    sim808.LongitudeConverToDMS();
    Serial.print("longitude :");
    Serial.println (sim808.longDMS.degrees);*/


    char latCStr[20];
    String latCPPStr = String (lat, DEC);
    latCPPStr.toCharArray(latCStr, latCPPStr.length());
    latCStr[latCPPStr.length()] = '\0';
    Serial.print (latCStr);
    sim808.sendSMS(PHONE_NUMBER, latCStr);

    char lonCStr[20];
    String lonCPPStr = String (lon, DEC);
    lonCPPStr.toCharArray(lonCStr, lonCPPStr.length());
    lonCStr[lonCPPStr.length()] = '\0';
    Serial.print(lonCStr);
    sim808.sendSMS(PHONE_NUMBER, lonCStr);
    
        //************* Turn off the GPS power ************
    sim808.detachGPS();
  } 
}