Ich bin neu in der Arduino-Welt und auch generell beim Coden.
Der wertA wird mir immer als 1 ausgegeben wenn das Resultat darunter liegt.
Zuerst dachte ich, dass dies an den Daten Typen liegen sollte, deshalb habe ich vr als int definiert und wertA als float, jedoch funktioniert es immer noch nicht. Ich habe bereits länger recherchiert, jedoch keine Antwort gefunden und langsam geht mir die Geduld aus.
vr = 120;
wertA = 150 / vr;
Ich Entschuldige mich für die Grundlegende Frage und bedanke mich für Antworten.
150/vr wird erst berechnet und danach wertA zugewiesen. Da 150 und vr vom Typ int sind (Ganzzahl), ist das Ergebnis auch int.
Du kannst aber der Rechnung sagen, das du mit Float rechnen willst. Entweder du gibst der Rechnung eine Kommastelle 150.0/vr oder du castest die Variable (wie von Combie gezeigt).
Beispiele, die funktionieren sollten:
wertA = 150.0 / vr; // eine der beiden Operatoren hat ein Punkt (Komma)
wertA = 150. / vr; // ein Punkt reicht aus, um den Kompiler zu sagen das es sich um eine Kommazahl handelt
wertA = (float) 150 / vr; // sagt den Kompiler, das er 150 als Kommazahl behandeln soll
wertA = float (150) / vr; // auch das sagt den Kompiler, das er 150 als Kommazahl behandeln soll
wertA = 150 / (float) vr; // sagt den Kompiler, das er vr als Kommazahl behandeln soll
wertA = 150 / float (vr); // auch das sagt den Kompiler, das er vr als Kommazahl behandeln soll
wertA = float (150 / vr); // das funktioniert nicht, da das Ergebnis erst berechnet wird, danach zu Float gewandelt wird