Ausgabe auf Display formatieren

Hallo,

ich bin wieder einmal etwas ratlos.

Ich lese einen ADC per Terminal aus:

myADC.getResult(&result);

Serial.println(result);

Angezeigt werden im Terminal 1071.00 - das sind real 1.071 Volt
Ich versuche aus diesen 1071.00 eine reale Anzeige entsprechend
des Formates 00.000 Volt zu formatieren (zwei Vorkomma - / drei Nachkommastellen)
aber ohne Erfolg.
Auf dem Display (TFT - kein LCD) sollen ja auch nur 1.071 V angezeigt werden
und nicht 1071.00
Gibt es dafür eine einfache Lösung ?
Vielen Dank im Vorraus !

Da fehlen wichtige Infos, z.B. welcher Typ ist result?
Am Besten den ganzen Sketch posten.

Gruß Tommy

dtostrf()

https://www.mikrocontroller.net/topic/86391
https://www.microchip.com/webdoc/AVRLibcReferenceManual/group__avr__stdlib_1ga060c998e77fb5fc0d3168b3ce8771d42.html

Ich sitze übers Wochenende nicht vor den "richtigen" Rechner.
Daher kann den Code erst am Montag einfügen.
Aber result habe ich als float deklariert.
Vieleicht hilft das schon etwas - dennoch vielen Dank.

Danke für Eure Hilfe !

Division durch 1000 gibt nur die erste Zahl - also eine "1" und sonst nichts aus.

Danke an Serenifly - der "." hat gefehlt.

Ich denke noch immer zu sehr analog.
In der realen Welt wird auch nicht Tausend Punkt Null gesagt.

Serial.println(result/1000.0,3);

Jetzt habe ich eine formatierte Anzeige mit eine Vor und drei Nachkommastellen.
Manchmal sieht man den Wald vor lauter Bäumen nicht ...

Ein paar Grundlagen musst du schon lernen. / 1000 ist eine Integer-Division. / 1000.0 ist eine Gleitkomma-Division

Hi

% ist eine Modulo-Division ... wie in der Grundschule, 1000:3=??? 333 Rest 1
1000/3 = 333 (das Ergebnis)
1000%3 = 1 (der Rest)
... nur sinnvoll bei Integer-Divisionen ...

MfG

Hallo,
darf ich mich hier mal anhängen?

Ich habe ein Formatierungsproblem bei I2C-Anzeigen. Ich möchte auf 3 Stellen ohne Nachkomma formatieren:

Variable sind int

lcd.setCursor(0,0); //Ab hier kann das I2C LCD Modul genau wie das einfache LCD Modul programmiert werden
lcd.print(motre.3,0);
lcd.setCursor(0,1);
lcd.print(motli.3,0);

Der Compiler verlangt ( aber wo und wofür?