Conversione coordinate GPS per Google maps

Slave a tutti ho un modulo GPS, e leggendo il manuale dice che l'output è in questo formato:

Latitude 3342.6618 ddmm.mmmmmm
Longitude 11751.3858 dddmm.mmmmmm

Ho cercato molto su internet ma non sono riuscito a venirne a capo.
Non riesco a convertire le coordinate per inserirle su google maps.

Il problema è che se provo a stampare ad esempio 3342.6618 da seriale, su arduino anch con una Serial.println() mi tronca i numeri , provando anche con float o double...

Mi sapreste dire per favore, una funzione che mi restituisce un double o float quello che sia in modo da ottenere coordinate valid per maps?
Grazie a tutti!

Ciao, non ricordo se è stato sotituito nelle ultime versioni dell'IDE, ma nel reference ho trovato questo:

In pratica se nel secondo parametro metti 6 dovresti ottenere 6 decimali

Ciao grazie per avermi risposto, non appena torno a casa provo.
Qaucluno saprebbe fare la funzione per la conversione su Maps?

uppp

Credo che tu debba cercare come convertire il formato da gradi e minuti (formato del GPS) in formato decimale ...
... fai questa ricerca su Google : "convert degrees minutes seconds to decimal degrees"

Guglielmo

leggo che il formato DDM è supportato da maps,
quindi "credo" che basti inserire lo spazio, tra ddd e mm.mmm
da 11751.3858 a 117 51.3858
tipo..

String longi =  "11751.3858" ;
void setup()
{
  Serial.begin(9600);
  String mapsLong = longi.substring(0, longi.length() - 7) + " " + longi.substring(longi.length() - 7);
  Serial.println(mapsLong);
}
void loop()
{
}

forse no..
prova così:
conversione da gradi minuti decimali in gradi decimali.

String longi =  "11751.3858" ;
void setup()
{
  Serial.begin(9600);
  String longSenzaPunto = longi;
  longSenzaPunto.replace (".", "");//levo il punto
  String mm =   longSenzaPunto.substring(longSenzaPunto.length() - 6);//prendo la pasrte mm
  int convertion = mm.toInt() / 60;//converto in int parte mm e la divido per 60
  String forMaps = longSenzaPunto.substring(0, longSenzaPunto.length() - 6) + "." + String (convertion);//premdo dd aggiungo il punto, e aggiungo l'int convertendolo in String
  Serial.println(forMaps);
}
void loop()
{
}

forse... :cold_sweat: