Operaciones con String

Hola muy buenas.
Tengo un problema que llevo dias tratando de resolver y no encuentro la solucion.
Tengo un String que me da una función, por ejemplo 40.292591, y lo que necesito con el es hacerle varias operaciones, siempre las mismas en principio y con un numero similar, es decir, con 6 decimales.

Para empezar tendria que separar las dos primera cifras, las dos segundas y las 4 ultimas cifras, en este ejemplo seria tener tres variables a=40 b=29 c=2591 Luego tendria que multiplicar c por 60, el resultado dividirlo por 10000, luego por 60....

Bien pues no se como hacer esto que comento, igual es que no se pueden hacer estas operaciones con un String, pero pasarlo a float tampoco se como hacerlo ademas que luego tendria que volver a convertirlo a String.

Muchas gracias por la ayuda, un saludo!

Doble posteo.
Ya tenías otro hilo en la sección General.
Obviamente no has leído las Normas del foro.
Dejaré este hilo porque es donde hubiese movido el otro pero que quede claro, que otra repetición de un doble post acarrea una sancion.

Investiga las posiblidades de la Clase String primero informándote ver link.
Permite todo tipo de manipulaciones, como separar caracteres pasarlos a enteros.
Pero debes llevarlo al ambiente adecuado.

Si tu String es 40.292591
tienes caracter en la posicion 0 y 1 para obtener el 40, usando un substring por ejemplo asi

String str = "40.292591";

int a = str.toInt(str.substring(0,1)); // esto debería devolver 40 como entero.

int b = str.toInt(str.substring(3,4)); // esto debería devolver 29 como entero.

int c = str.toInt(str.substring(5,8)); // esto debería devolver 2591 como entero.

Me temo que hay un pequeño error de sintaxis Surbyte, prueba esto:

String str = "40.292591";
void setup () {
    Serial.begin(57600);
	int a = str.substring(0,2).toInt();
	int b = str.substring(3,5).toInt();
	int c = str.substring(5,9).toInt();
	Serial.println(a);  //40
	Serial.println(b);  //29
	Serial.println(c);  //2591
}

void loop () {
   //Nada
}

Muchas gracias chicos, me ha funcionado! :slight_smile: