C++ nyelvben string tipusú változót lehetséges visszaalakítani float-be?
Érdekelne, hogy a C++ nyelvben lehetséges-e string tipusú változót float-tá váltani.
Pl. ez a string tartalma String sensorValues=T12.34H56.78
Átalakitás után:
float temperature = 12.34
float humidity = 56.78
Köszönöm a segítséget!!!
Erre gondolsz pl?
String temperatureString
int indexT = sensorValues.indexOf("T"); // indexT 0 lesz
if (indexT >= 0)
{
temperatureString = rawValue.substring(tIndex+1, tIndex+6); // temperatureString tartalma 12.34 lesz
}
És hogy lesz a következő lépés?
*a indexT-ket is elírtam, bocsánat!
Tehát a helyes példa:
String temperatureString
int indexT = sensorValues.indexOf("T"); // indexT 0 lesz
if (indexT >= 0)
{
temperatureString = sensorValue.substring(indexT+1, indexT+6); // temperatureString tartalma 12.34 lesz
}
biztos c++ ez?
ott a string std::string, indexOf függvényt nem találtam, viszont a find azt csinálja amit kell: [link]
substring helyett substr: [link]
illetve nem értem miért +6
egyébként én T+1-től H-1-ig használnám a substr-t, mert mi garantálja hogy 4 jegyű ott az adat? mi van ha 35.657 vagy 300.24?
a másikat meg elég ha H+1-től nézzük.
mindegy itt egy kód: [link]
Köszönöm a segítséget!
Igen ez C++, és Arduinohoz szükséges.
Igen, van még mit finomítani a substringes részén, de az a kisebbik probléma, a floattá alakítással volt a probléma.
Egyébként működik az atof-os cuccod, köszi szépen!!!
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!