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.
Gast
#2923647
Bin nicht sicher ob ich Deinen (etwas sehr ungrammtikalisch formulierten) Text verstehe. Meinst Du sowas?
1 | |
2 | |
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.
Gast
#2923653
Grrr. Während ich geantwort habe, hast Du Deine Frage geändert. Mach alleine weiter.
Gast
#2923664
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.