Probleme beim rechnen, bei Zahlen mit führenden Nullen.

malerlein

Mitglied
Hallo zusammen, ich möchte mich mal erst vorstellen. Ich bin der Jürgen und komme aus NRW, Witten an der Ruhr. Ich Grüße alle die das hier lesen.

Jetzt zu meinem Problem.: ich erstelle in Processing ein Programm , was aus einem Haupt schlüssel mit einer an zu gebenden 4 oder 5 Stelligen Zahl Schliess Nummern für Schliessanlagen erstellt um die Schlüssel an zu fertigen. So weit so Gut, das Programm ist im Grunde soweit fertig. Jedoch habe ich das Problem, das sich unter den Zahlen der Schliessungen auch Zahlen mit führenden Nullen befinden, die Zahlen sind in einem Int Array angelegt. Die Zahlen mit führenden Nullen werden aber auf dem Bildschirm in Oktal Zahlen umgewandelt, so wird aus 0100 die Zahl 64. Das Problem habe ich gelöst, indem ich ein 2. String Array angelegt habe und somit die Zahlen so angezeigt werden wie sie in dem Array stehen. jedoch muss ich mit diesen Zahlen rechnen z.B. Hauptschlüssel ist = 6667 Schliess Nr ab wo gerechnet wird ist 0100, jetzt muss die Schliess Nummer jeweils an jeder Stelle so lange um 2 erhöht werden bis die jeweilige zahl z.B. 4. Zahl hoch gezählt ist, das sie um 2 kleiner st als die 4. Zahl des Haupt schlüssels. Das ist auch nicht das wo ich Schwierigkeiten habe. Sondern nach jeder Rechnung der Schliss Nummer soll diese im Menü des Programms angezeigt werden nur ich weis nicht wenn die Schliess Nummer aus dem Array geholt wir und zur Oktal Zahl umgewandelt wir, wie ich dann rechnen soll da ja die Nullen alle verschwunden sing. Gibt es eine Möglichkeit die Oktal Zahl so zu Formatieren das ich wieder eine Dezimal Zahl habe um damit zu Rechnen. Die Ausgabe , das geht da ich die Zahl in einem String übernehmen kann, wenn sie berechnet wurde.
 
Kannst du mal einen kleinen Code-Ausschnitt mit den wesentlichen Teilen (die Arrays von denen du redest und die Rechnungen zw. Ausgabeanweisungen die funktionieren bzw. nicht funktionieren. Mir ist noch nicht klar was du meinst.
 
>> JSein52. Also das ist ein Programm für Schlüsselmaschienen. Da in Unserer Abteilung Schliess Anlagen hergestellt werden, müssen bei Bestellungen von einer Anlage die Schliesungen berechnet werden, so das man nicht mit jedem Schlüssel jedes bestellte Schloss schliessen kann. Dazu wird ein Hauptschlüssel bestimmt, der z.B. die Hauptschlüssel Nr 6667 hat. Jetzt gibt es dazu vordefinierte Schliessungen, diese Zahlen sind in einem int Array hinterlegt :
int pos[] = {11212, 11122, 11221, 12121, 12211, 12112, 12222, 11111, 21211, 21121, 21112, 21222, 22111, 22122, 22212, 22221 , 22121, 22211, 22112, 21212, 21122, 21221, 21111, 22222, 12212, 12221, 12111, 11222, 11121, 11211, 11112, 12122,0000 ,0000,0000,0000,0000,0000,0000,0000,0000,0100,0010,0021,0113,1002,1013,1301,1310};

nicht Irritiert sein im Array die Angaben mit 4 Nullen, sind noch nicht belegt.

das Programm nimmt die Hauptschlüssel Nr. z.B. 6667 bei 4. Stelligen Zahlen für die Kleinen Anlagen. und eben 5. Stellige Zahlen Großen Anlagen. Bei den Großen Anlagen besteht kein Problem weil die Schliess Nr. keine Nullenbeinhalten. Bei den kleinen Anlagen sind viele Zahlen mit führenden Nullen dabei. diese werden Automatisch in Oktal Zahlen umgewandelt. Wo ich nicht weis wie ich damit die Schliessungen berechnen soll.
gerechnet wird in einer Schleife z.B. die Schliss Nr 0100 , diese wird in 2er Schritten so hoch gezählt ab der letzten Zahl, bis die Zahl 2 kleiner als die letzte Hauptschlüssel Nr. ist und das dann mit jeder Zahl.
z.B. 6667 Hauptschlüssel Nr.
0100 1.Schliessung
0102 2. Schliessung
0104 3. Schliessung weiter geht es nicht mit der letzten Zahl da sonst die Diff. zum HS nur noch 1 ist
0120 4. Schliessung
0122 5. Schliessung
0124 6. Schliessung weiter geht es nicht mit der letzten Zahl da sonst die Diff. zum HS nur noch 1 ist
0140 7. Schliessung
0142 8. Schliessung
0144 9. Schliessung weiter geht es nicht letzten/ vorl. Zahl da sonst die Diff. zum HS erreicht ist
0300 10. Schliessung
u.s.w.

bei den 5 Stelligen Schliessungen ist das kein Problem, da sie aus dem Array so übernommen werden, doch bei den 4 Stelligen Zahlen werden die zahlen aus dem array Automatisch zu Oktal Zahlen, also die erste Schliessung wird Umgewandelt zu 64 und damit kann ich nicht och zählen.
Ich suche eine Funktion oder Methode das ich solange wie das Programm rechnet die Oktal Zahl wieder zur Dezimal Zahl umgewandelt ist, als wieder 0100 so das ich mit allen vier Zahlen einzelnd rechnen kann. Ich hoffe Du hast es verstanden. 🙂
 
Oder aber nur mit Integers ohne die führende Nullen und immer dort wo du sie Als String mit führenden Nullen brauchst machst du das mit einer passenden Formatangabe ? Du willst ja scheinbar nur Zahlen die kleiner 1000 sind vierstellig mit führenden Nullen irgendwo (als String) ausgeben
 
Sorry Joose, so war das auch gemeint. aber der Vorschlag von JStein52 ist das was ich mache, man ist manchesmal wie von Sinnen, das ist die einfachste Lösung wo man ncht drauf kommt. die führenden Nullen brauche ich doch garnicht beim Hoch zählen. Kopf schüttel. Danke JStein52
 

Neue Themen


Zurück
Oben