Hi ich schreibe gerade ein Statikprog
um die Grafischeoberfläche benutzerfreundlich zugestallten möchte ich kreuze (makieren einen Lagerpunkt) an einem Raster ausrichten lassen. Ich habe mir überlegt wenn ich ein Rasterabstand von z.B. 10x10 habe und ich einen Klick auf die Koordinaten z.B 45x113 mache, wandel ich die 2 Zahlen in einen String um die Dezimalstellen zu ermitteln. I.o.g.Bsp währe das also 2 und 3. Wenn ich nun 10 hoch 2-1 und 10 hoch 3-1 rechne erhalte ich 10 und 100. Nun dividiere ich die Ursprungskoordinaten mit dem entsprechenden Wert also 45/10 und 113/100. So erhalte ich 4,5 und 1,13 diese beiden Zahlen runde ich auf 4 und 1 und multipiziere sie wieder mit den entsprechenden Werten also 4*10 und 1*100
und erhalte so die Rasterkoordinaten wo ich mein Kreuzsetze.
Meine Frage: Gibts vielleicht eine elegantere Lösung???
um die Grafischeoberfläche benutzerfreundlich zugestallten möchte ich kreuze (makieren einen Lagerpunkt) an einem Raster ausrichten lassen. Ich habe mir überlegt wenn ich ein Rasterabstand von z.B. 10x10 habe und ich einen Klick auf die Koordinaten z.B 45x113 mache, wandel ich die 2 Zahlen in einen String um die Dezimalstellen zu ermitteln. I.o.g.Bsp währe das also 2 und 3. Wenn ich nun 10 hoch 2-1 und 10 hoch 3-1 rechne erhalte ich 10 und 100. Nun dividiere ich die Ursprungskoordinaten mit dem entsprechenden Wert also 45/10 und 113/100. So erhalte ich 4,5 und 1,13 diese beiden Zahlen runde ich auf 4 und 1 und multipiziere sie wieder mit den entsprechenden Werten also 4*10 und 1*100
und erhalte so die Rasterkoordinaten wo ich mein Kreuzsetze.
Meine Frage: Gibts vielleicht eine elegantere Lösung???
Comment