Comment convertir une fonction pour qu'elle fonctionne avec un autre type de var

Bonjour,

J’ai besoin de convertir des positions GPS qui me sont donée en ddmm et je l’ai veu en dddd

Mes coordonnées sont stockées dans des array de type char
char lat[15];
char lon[15];

Ces fonctions (l’une ou l’autre, je ne sais pas laquelle est la meilleurs:

float conv_coords(float in_coords)
{
  //Initialize the location.
  float f = in_coords;
  // Get the first two digits by turning f into an integer, then doing an integer divide by 100;
  // firsttowdigits should be 77 at this point.
  int firsttwodigits = ((int)f)/100;                               //This assumes that f < 10000.
  float nexttwodigits = f - (float)(firsttwodigits*100);
  float theFinalAnswer = (float)(firsttwodigits + nexttwodigits/60.0);
  return theFinalAnswer;
}
// converts lat/long from Adafruit
// degree-minute format to decimal-degrees
double convertDegMinToDecDeg (float degMin) {
  double min = 0.0;
  double decDeg = 0.0;
 
  //get the minutes, fmod() requires double
  min = fmod((double)degMin, 100.0);
 
  //rebuild coordinates in decimal degrees
  degMin = (int) ( degMin / 100 );
  decDeg = degMin + ( min / 60 );
 
  return decDeg;
}

Le problème c’est que les deux me demande de passer en paramètre, des float, alors que mes valeur sont dans des char (array)
Quel des deux fonction vous semble la meilleurs et comment puis-je l’adapter pour qu’elle accepte des char en parametre?

Milles mercis pour votre précieuse aide

Premier lien trouvé en tapant "arduino char array to float" : http://forum.arduino.cc/index.php/topic,42139.0.html

Les 2 fonctions font la même chose.
Elles séparent le deux digits de poids faible pour récupérer les minutes et les deux digits de poids forts pour récupérer les degrés.

Si tu as les coordonnées sous forme d’une chaîne se serait un peu con de passer en flottant pour re-extraire les digits alors que c’est simplissime de le faire à partir de la chaîne.
Tu prends les 2 premiers caractères c’est les degrés. Tu utilises atof pour convertir les caractères en nombre.
Tu prends les deux caractères suivants c’est les minutes. Tu utilises atof pour convertir les caractères en nombre.
Tu applique la formule qui se trouve à la fin des 2 exemples que tu nous a montrés sur les 2 variables et tu retrouves ta valeur en degrès