Konverze "const String" na "int" a "float"

Wiring, C++, C, Java, ...
Pravidla fóra
Toto subfórum slouží k řešení obecných otázek kolem programování (konstrukce, knihovny, alokace paměti, ...)
Odpovědět
jankop
Příspěvky: 1030
Registrován: 06 zář 2017, 20:04
Reputation: 0
Bydliště: Brno
Kontaktovat uživatele:

Konverze "const String" na "int" a "float"

Příspěvek od jankop » 24 úno 2024, 14:15

Zdravím,
nějak jsem se zasekl a potřeboval bych poradit.
Na následujícím kódu se snažím ukázat můj problém.

Kód: Vybrat vše

const String StringAsInt = "2458";
const String StringAsFloat = "185.4"; 
int TargetInteger;
float TargetFloat;
void setup() {
  Serial.begin(115200);
  TargetInteger = StringAsInt.toInt;
  TargetFloat = StringAsFloat.toFloat;
}
void loop() {
  // put your main code here, to run repeatedly:
}
Tady je chybové hlášení:
C:\Users\pavel\AppData\Local\Temp\.arduinoIDE-unsaved2024124-13756-1tl0whm.cgr4\sketch_feb24a\sketch_feb24a.ino: In function 'void setup()':
C:\Users\pavel\AppData\Local\Temp\.arduinoIDE-unsaved2024124-13756-1tl0whm.cgr4\sketch_feb24a\sketch_feb24a.ino:7:30: error: cannot convert 'String::toInt' from type 'long int (String::)() const' to type 'int'
7 | TargetInteger = StringAsInt.toInt;
| ^~~~~
C:\Users\pavel\AppData\Local\Temp\.arduinoIDE-unsaved2024124-13756-1tl0whm.cgr4\sketch_feb24a\sketch_feb24a.ino:8:31: error: cannot convert 'String::toFloat' from type 'float (String::)() const' to type 'float'
8 | TargetFloat = StringAsFloat.toFloat;
| ^~~~~~~
exit status 1
Compilation error: cannot convert 'String::toInt' from type 'long int (String::)() const' to type 'int'
Jak udělám co nejjednodušeji konverzi typů, o kterou se pokouším v ukázce kódu ? Už se s tím trápím docela dlouho, ale řešení nenalézám. Dík za každou radu.

Uživatelský avatar
gilhad
Příspěvky: 788
Registrován: 07 bře 2018, 11:22
Reputation: 0

Re: Konverze "const String" na "int" a "float"

Příspěvek od gilhad » 24 úno 2024, 14:26

IMHO tam chceš do těch proměnných dát výsledek té funkce, nikoli funkci samotnou. Takže abys ji zavolal, tak na konci ještě závorky.

Kód: Vybrat vše


const String StringAsInt = "2458";
const String StringAsFloat = "185.4"; 
int TargetInteger;
float TargetFloat;
void setup() {
  Serial.begin(115200);
  TargetInteger = StringAsInt.toInt();  // <-- závorky tady 
  TargetFloat = StringAsFloat.toFloat();  // <-- a tady
}
void loop() {
  // put your main code here, to run repeatedly:
}

jankop
Příspěvky: 1030
Registrován: 06 zář 2017, 20:04
Reputation: 0
Bydliště: Brno
Kontaktovat uživatele:

Re: Konverze "const String" na "int" a "float"

Příspěvek od jankop » 24 úno 2024, 15:15

D9ky moc.
Opravdu to funguje.

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 32 hostů