Eine alte variable, zu der alten variable mit einer neuen aufaddieren

ich bin der nächste der keine Ahnung vom programmieren hat aber vielleicht bin ich wirklich zu blöd dazu macht mich nieder und belehrt mir eines besseren.

verständnis Probleme mit Variablen

ich habe eine Variable aktuelle_Version = 1;
diese Variable soll um x steigen also aufaddieren

also würde ich im normal Fall schreiben
aktuelle_Version = aktuelle_Version + neue_Variable;

alle Variablen sind als float vordefiniert

das geht leider nicht, hat jemand eine Lösung für mich? muß ich diese wirklich erst zwischenspeichern?

Im englischen Teil des Forum müssen die Beiträge und Diskussionen in englischer Sprache verfasst werden. Deswegen wurde diese Diskussion in den deutschen Teil des Forums verschoben.

mfg ein Moderator.

Warum soll das nicht gehen?

Wenn Du flaot hast, wieviele Nachkommastellen brauchst Du denn? (Und vielleicht auch wozu)
Du könntest alternativ einen cast nach int machen, aber dazu müsste man genau wissen, was Du hast und was Du brauchst.

@feldmann123w also normalerweise kann man schon zu einer Variable einen anderen Wert dazu addieren.

void setup() {
  Serial.begin(115200);
  float aktuelle_Version = 1;                  // ich habe eine Variable aktuelle_Version
  float x = 42;                              
  aktuelle_Version = aktuelle_Version + x;     // diese Variable soll um x steigen also aufaddieren
  Serial.println(aktuelle_Version);
}

void loop() {
  // put your main code here, to run repeatedly:

}

Da Fließkommazahlen beim Arduino (zB UNO R3) nur 6 bis 7 Nachkommastellen haben ergibt ein addieren von 10 zu 123456789 immer 123456789.

Grüße Uwe

Dass "es geht", hast du schon zweimal als Antwort bekommen.
Was meinst du mit "zwischenspeichern"? Ist schon schwer zu raten, wo du dich verrannt hast.
Zeig dein Problem an einem vollständigen Beispiel (5 - 10 Zeilen sollten reichen).
Vielleicht sieht du selbst da schon klarer :wink:

Ich rate noch mal: Du hast eine Version aktuelle_Version = 1.23 und möchtest 0.001 dazufügen.
Eigentlich müsste jetzt 1.231 auf der Anzeige rauskommen.
Du erhälst aber mit Serial.print(aktuelle_Version) noch immer 1.23
Das ist nur eine Limitierung der Anzeige. Der Inhalt stimmt.
Wenn Du mehr Nachkommastellen anzeigen willst, musst Du das auch mitteilen.

Und dann gibt es noch das Problem, dass die Rechnerei mit float nur auf 6-7 Stellen funktioniert (inkl. der Ziffern vor dem Komma!)

// Forensketch
// https://forum.arduino.cc/

const float x = 3.1415926;
const float y = 314159.26;
float z = x + y;

void setup()
{
  Serial.begin(115200);
  Serial.print("\r\nX: ");
  Serial.println(x, 8);
  Serial.print("Y: ");
  Serial.println(y, 8);
  Serial.print("Z: ");
  Serial.println(z, 8);
}

void loop()

{}

Wenn Du X und y addierst, kommt eigentlich raus:

314159,26
     3,1415926
==============     
314162,4015926

Vergleiche mit dem was auf dem seriellen Monitor ausgegeben wird.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.