Forum: Mikrocontroller und Digitale Elektronik Problem mit Arduino String((float)1.1),


von Seppel (Gast)


Lesenswert?

Hallo,

ich hab folgenden Code:

float Temperature = 1.0;
String stringTemp = (String(Temperature,1));

Serial.print("TempString: ");
Serial.println(stringTemp);


Der String ist leer, es wird folglich nichts ausgegeben.

Ich verstehe leider nicht woran das liegt, hat jemand eine Idee?

Vielen Dank,

Grüße

Seppel

P.S.

Ich benötige stringTemp um damit dann später noch die Länge zu bestimmen 
und die Position auf einem LCD zu korrigieren, da ja immer von vorne 
geschrieben wird und je nach Anzahl Stellen die Position des Endes sich 
ändert.

von Einer K. (Gast)


Lesenswert?

Die String Klasse ist auf (kleinen) AVR ungünstig!

Warum nicht so:
1
float Temperature = 1.0;
2
3
Serial.print("TempString: ");
4
Serial.println(Temperature,1);



Seppel schrieb:
> Ich benötige stringTemp um damit dann später noch die Länge zu bestimmen
> und die Position auf einem LCD zu korrigieren, da ja immer von vorne
> geschrieben wird und je nach Anzahl Stellen die Position des Endes sich
> ändert.
Soso..
Aber die String Klasse brauchst du trotzdem nicht.

Tipp: Verwende sprintf() oder dtostrf()....

von Seppel (Gast)


Lesenswert?

Natürlich ist stringTemp.length() auch 0,... . Ich verstehs nicht.

von Seppel (Gast)


Lesenswert?

Hallo,

dass der Kommentar mit dem dtostrf kommt war klar, war ber nicht die 
Frage, oder? Warum ist der String leer?

Target ist ARM und Tensilica,... 32Bit.

Grüße

Seppel

von Einer K. (Gast)


Lesenswert?

>Target ist ARM und Tensilica,... 32Bit.
Danke und Tschüss...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.