Hallo Ich hab mal ne frage vielleicht hat jemand rat. folgender Programmabschnitt in dem Wenn Wert 5-er Schritte macht in Actf übernommen werden soll. 0.000,0.005,0.010,0.0015,0.0020,0.0025 etc. Soweit funktioniert das auch, wenn aber der Wert einen grossen Sprung macht und auf einem wert stehen bleibt der kein 5-er Schritt ist wird die Variable Actf nicht aktualisiert, soll sie aber. Wie kann ich den Wert auf 5-er Schritt Formatieren. float Actf,Wert; if(Wert %5 == 0) Actf=Wert; Danke vorab.
Bin nicht sicher ob ich Deinen (etwas sehr ungrammtikalisch formulierten) Text verstehe. Meinst Du sowas?
1 | // if(Wert %5 == 0) Actf=Wert;
|
2 | Actf = Wert - (Wert % 5); |
Nilix Nilix schrieb: > float Actf,Wert; > > if(Wert %5 == 0) Actf=Wert; Hallo nilix, damit tust du dich viel leichter: http://www.mikrocontroller.net/articles/Festkommaarithmetik Der Operator % (modulo) funktioniert wahrscheinlich gar nicht mit dem Datentypen "float", das heißt, die Zahlen werden sowieso zuerst automatisch in "int" umgewandelt.
Grrr. Während ich geantwort habe, hast Du Deine Frage geändert. Mach alleine weiter.
Abgesehen davon, das der Codeteil den Du gezeigt hast mit den Beispielen NIE funktioniert haben kann weil Float. Was soll den die Sch... verdammt nochmal?
>Actf = Wert - (Wert % 5);
Vielen Dank für die sehr schnelle Antwort, scheint zu funktionieren
und Entschuldige ich hab nur die Frage etwas angepasst 0.00x.
Du warst halt schneller als ich.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.