This has been answered in the previous questionquestion but I can repeat it here:
void loop()
{
...
float latitude = 33.546600;
float longitude = 75.456912;
String buf;
buf += F("your location is \nlat:");
buf += String(latitude, 6);
buf += F("\nlong:");
buf += String(longitude, 6);
Serial.println(buf);
...
}
An alternative is to use dtostrf() as in your snippet:
void loop()
{
...
float latitude = 33.546600;
float longitude = 75.456912;
const int BUF_MAX = 64;
char buf[BUF_MAX];
const int VAL_MAX = 16;
char val[VAL_MAX];
strcpy_P(buf, (const char*) F("your location is \nlat:"));
dtostrf(latitude, 8, 6, val);
strcat(buf, val);
strcat_P(buf, (const char*) F("\nlong:"));
dtostrf(longitude, 8, 6, val);
strcat(buf, val);
...
}
Cheers!