So, nachdem nun einige andere Baustellen bedient sind und ich bei anderen nicht weiter komme, geht es heute Abend hier weiter 
Zwischenzeitlich gab es hier ja schon rege Diskussionen, die schau ich mir jetzt erstmal detailliert an.
Und hier dann nun hoffentlich die allumfassenden Antworten auf eure Fragen und Ideen:
kann es sein das deine "Variable" value ein char array ist? Also kein Datentyp wie int oder long o.ä. Vermute ich aus dem Auszug heraus.
Meine Denkweise geht in Richtung Nullterminator falsch gesetzt/verwendet oder sowas in der Richtung.
Weil Ziffer Null ist ja ungleich Steuerzeichen Null. Nicht das hier was verwechselt wurde.
Ich weiss jetzt nicht genau welche Variable du meinst.
Diese callback Routine kommt aus einem Beispiel der pubsubclient Library.
Es wird ein MQTT Broker subscribed, und wenn der MQTT Broker eine neue Message hat, dann wird diese callback Routine aufgerufen.
Die Message wird dann mit
for (int i = 0; i < length; i++) {
Serial.print((char)payload[i]);
}
auf den seriellen Monitor geschrieben.
Ich lese daraus, das jedes Zeichen einzeln geschrieben wird, und daher wird es sich wohl um ein char Array handeln?!
Danach parse ich dieses gesamte char Array dann in den "timestamp" als char Array (weil das an anderer Stelle aus einem char Array weiterverarbeitet wird, daher wollte ich hier den gleichen variablentyp nehmen) und in
"LiterProStunde" als double (da hatte ich vorher ein float, und habe bemerkt, dass die Anzahl der Stellen nicht ausreicht, um die gleiche Genauigkeit zu erhalten wie im char Array. Deswegen habe ich diese Variable auch im seriellen
Monitor mit mehr Stellen anzeigen lassen, als sie eigentlich hat, um zu Prüfen wie sich die Nachkommastellen dort entwickeln. Die Stellen, die ich verglichen habe sind rot markiert. Da sollte eigentlich schon farblich markiert
auffallen, das ich die letzten 5 Müllzeichen gar nicht miteinander verglichen habe. Aber alle vom char Array gelieferten Ziffern sind identisch mit den ins double geparsten Zahlen. (Beim float war das noch nicht so).
Das bedeutet, dass sich unser themanfrommoon sich bei jeder Ausgabe ca 8 Müllzeichen anzeigen lässt. Und er beschwert sich über diese Müllzeichen. ( ? ? ? )
Um den Zusammenhang zu beweisen, habe ich extra das Testprogramm für einen UNO geschrieben.
Leider sagt unser themanfrommoon nicht, welchen µC er nutzt.
Und ein testbares Programm führt er auch nicht vor.
Scheint ihm beides noch nicht wichtig zu sein.
Das ganze läuft auf einem nodeMCU mit ESP8266.
Das Testprogramm läuft auch dadrauf.
Mir ist klar, dass in der Ausgabe mehr Zeichen dargestellt sind, als es sinnvoll ist. Das habe ich extra so gemacht, und es wird nu im Serial Output zum debuggen angezeigt. Auf dem TFT Display werden nur 2 Nachkommastellen
angezeigt (die später wohl noch auf 1 Nachkommastelle, oder sogar noch auf 0,5er Schritte reduziert werden.)
Ein testbaren Programm ist ein wenig schwierig. Der Code ist inzwischen etwas über 35.000 Zeichen lang. Den könnte ich als Anhang hochladen. In Codetags hat da wohl keiner Spaß dran. Da erwarte ich auch nicht wirklich das sich da
einer die Mühe macht und sich darin zurechtfindet. Nächstes Problem ist, dass ich die Kommentare leider nicht mehr gepflegt habe. Daher würde es verwirren, wenn das jemand anderes ließt. Und ein weiteres Problem ist, das dort
inzwischen 12 teilweise wohl relativ spezielle Libraries aufgerufen werden und das ganze ja in auf gewisse Peripherie und Hardware zugreift um die Dateien einzulesen. Das habt ihr ja alles so nicht bei euch. Insofern ist es wohl
relativ sinnfrei (hab ich mir jedenfalls gedacht) den ganzen Code hier hochzuladen. UND ich kann mir gut vorstellen, dass der eine oder andere die Hände über dem Kopf zusammenschlägt. Ich glaube dass dort ein paar Programmierstile
zusammengewürfelt sind, und kein ganz roter Faden zu erkennen ist. Das liegt schlicht und einfach daran, dass ich wie gesagt auf inzwischen 12 verschiedene Libraries und Teile aus deren Beispielen zurückgreife, die ich dann zu
einem Sketch zusammengebaut habe und zum funktionieren gebracht habe. An den Libraries möchte ich auch ungern rumändern. Warum soll ich mir die Arbeit machen, die andere schon gemacht haben und freundlicherweise zur Verfügung
stellen? Klar, damit man mehr lernt und irgendwann alles kann. Bei mir ist das Ziel aber, das das Programm läuft und nicht das ich bis ins Detail eine Programmiersprache lerne, die ist leider nur Mittel zum Zweck. Aber wenn's hilft
lade ich den Code hier auch als Anhang hoch. Muss nur einer HIER HOCHLADEN! schreiben.
Serenifly:
Wenn ich das richtig verstehe hat er darüber aber keine Kontrolle. Das macht die Library glaube ich automatisch. Danach wird eine Callback Funktion aufgerufen und man hat die Daten fertig vorliegen
Genau richtig
themanfrommoon hat sich schon lange nicht mehr geäussert. Problem vielleicht schon gelöst?
Das hätte ich natürlich mitgeteilt, so fair bin ich natürlich. Nein, ich hatte einfach noch keine Zeit dafür.....aber jetzt 
Und auch die Kritik am naiven um deklarieren eines Arrays zum String...
Auch "ignorieren von Length", alles das kann man schon persönlich nehmen.
Wenn man sich (zu sehr) mit seinen eigenen Ideen identifiziert.
Hihi, schön, combie ist schon ein wenig speziell. Macht aber nix, das bin ich auch. Sowas kann ich gut ab, ich mach das genauso 
Ich hab heute 2,9t und gestern 1,5t Steine für meinen Carport Boden geschleppt, das sitzt mir noch ein wenig in den Knochen.
Ich hoffe ich bin bisher keine Antwort schuldig geblieben die ich beantworten kann und bin auf jede Frage eingegangen, ansonsten bitte nochmal fragen.
Ich habe jetzt so gefühlt 3-4 Ideen gelesen, und auch noch einige Fragestellungen zu Variablentypen und Array Größen usw.
Wie kann ich jetzt weitermachen, soll ich was testen, oder den gesamten Code mit über 35.000 Zeichen hochladen oder in den Libraries irgendwelche Variablendeklarationen nachschauen.
Lieben Gruß und vielen Dank für die ganze Diskussion und die Ideen!
Chris