Assigning float to 10 decimal place for longitude,latitude
But when after setting the Longitude and Latitude to float.When I use
  this code, I don't get a valid gps data.


Some statements in C/C++ are not what they might seem. The value of the statements:

Longitude = (sim808.GPSdata.lon, 10 );
Latitude = (sim808.GPSdata.lat, 10 );


Are actually the same as:

sim808.GPSdata.lon; 
Longitude = 10; 
sim808.GPSdata.lat; 
Latitude = 10;


Which is then optimized to:

Longitude = 10.0; 
Latitude = 10.0;


That is, when using list notation, the value of the expression is the same as the value of last expression in the list.

The other answers have covered the fact that float and double on Arduino (AVR-GCC) are only 32-bit, and that gives 6 to 9 significant decimal digits precision.

Cheers!