system
1
Olá eu preciso fazer uma conta com uma String mas nao consigo converter ela pra float.
é possivel converter String pra float? se sim como faço isso?
String lati = "2234.7630S";
float subLat, numLat;
String tempLat;
tempLat = lati.substring(0,2);
subLat = float(tempLat);
tempLat = lati.replace(lati.substring(0,2), "");
numLat = float(tempLat);
numLat = (numLat/60) + subLat;
if (lati.endsWith("S")){
lati.replace("S", "");
lati = numLat;
lati = "-" + lati;
}
o codigo é mais ou menos esse
float calculateLatitude() {
char input[] = "2234.7630S";
char sDeg[2];
char sMinSec[7];
float deg;
float minSec;
int index = 0;
while (*input) {
if (index < 2) {
*sDeg++ = *input++;
}
else if (index >= 2 && index < 9) {
*sMinSec++ = *input++;
}
else {
deg = atof(sDeg);
minSec = atof(sMinSec);
deg = deg + minSec / 60.0;
if (*input == 'S') {
deg = -deg;
++input;
}
}
++index;
}
return deg;
}
system
3
entao eu tenho que converter a string para um array de caracteres para poder converter em float.
Muito obrigado pela ajuda
Se usares um array de caracteres, não precisas de converter.
Depois podes usar a função atof() para isso. 