German Zahlenformat Engl. - Deutsch

Paulsche

Well-Known Member
Licensed User
Longtime User
Hi,

wie macht Ihr das denn mit dem Zahlenformat ?

Es gibt da ja unterschiedliche Methoden denke ich, z.B.

1. Benutzer muss als Kommastelle bei der Eingabe einen Punkt nehmen (engl.),
gespeichert in Tabelle in engl.
dann wird für die Anzeige die Routine "KonvertToGerman()" benutzt.
So bald man damit rechenen muss, wieder mit "KonvertToEnglish()" konvertieren.

2. Eingabe in Deutsch mit komma, dann Intern in Engl. konvertieren zum speichern und rechnen
und wieder in Deutsch zum anzeigen.

Gibt es da vielleicht eine elegantere Möglichkeit die nicht so verwirrend ist ?
 

specci48

Well-Known Member
Licensed User
Longtime User
Hallo Paulsche,

ich persönlich mache es wie unter 2. angedeutet.

Es gab hierzu schon einmal einen eigenen Thread, an dem Du Dich damals auch schon selbst beteiligt hattest.

Eine andere Möglichkeit sehe ich leider nicht... :(


Gruß
specci48
 

Paulsche

Well-Known Member
Licensed User
Longtime User
ok, ja das Thema hatte ich schon mal angelegt, dachte vielleicht gibt es inzwischen eine andere Möglichkeit, dann wird man wohl nicht um das hin und her konvertieren herumkommen.
 

klaus

Expert
Licensed User
Longtime User
Also Ich habe das Problem ganz einfach vor ungefähr 2 Jahrzehnten gelöst: habe alle meine Computer auf das englische Format umgesetzt und arbeite ausschlisslich mit dem.
Und siehe da, kein Problem mit dem umständlichen Konvertierungskram.

Ist natürlich nur ein persönlicher Standpunkt aber sehr erfogreich !

Beste Grüsse.
 

specci48

Well-Known Member
Licensed User
Longtime User
Ist natürlich nur ein persönlicher Standpunkt aber sehr erfogreich !
Im Prinzip die Beste Lösung, wenn man sie tatsächlich durchsetzen kann.

Aber leider gibt es meist immer irgendwelche Anwender die es eben anders wünschen. Und in solchen Situationen wird einem immer wieder klar, wie angenehm das Programmiereren ohne Anwender wäre... :rolleyes:


Gruß
specci48
 

Stefan080159

Member
Licensed User
Longtime User
Hi,

wie macht Ihr das denn mit dem Zahlenformat ?

Es gibt da ja unterschiedliche Methoden denke ich, z.B.

1. Benutzer muss als Kommastelle bei der Eingabe einen Punkt nehmen (engl.),
gespeichert in Tabelle in engl.
dann wird für die Anzeige die Routine "KonvertToGerman()" benutzt.
So bald man damit rechenen muss, wieder mit "KonvertToEnglish()" konvertieren.

2. Eingabe in Deutsch mit komma, dann Intern in Engl. konvertieren zum speichern und rechnen
und wieder in Deutsch zum anzeigen.

Gibt es da vielleicht eine elegantere Möglichkeit die nicht so verwirrend ist ?

So könnte es auch gehen...
Sub TextBox1_LostFocus
TextBox1.Text =StrReplace(TextBox1.Text,",",".")
A= TextBox1.Text
Bei der weiteren Bearbeitung der Variabele von A einfach A*1000
 

specci48

Well-Known Member
Licensed User
Longtime User
So könnte es auch gehen...
Sub TextBox1_LostFocus
TextBox1.Text =StrReplace(TextBox1.Text,",",".")
A= TextBox1.Text
Bei der weiteren Bearbeitung der Variabele von A einfach A*1000
Ein solches Vorgehen hätte mehrere Nachteile:
1. Der einfache StrReplace reicht nicht - z.B. muss man bei einer Eingabe von "11.324,35" den Punkt ebenfalls (durch ein Komma) ersetzen
2. Hat man mehrere Felder, so ist es nicht sinnvoll, die Umsetzung mehrfach zu Codieren. Daher "sauber" eine eigene Konvertierungsroutine erstellen.
3. Die Anzeige soll ja auf der Oberfläche im deutschen Format bleiben. Durch den Replace auf das Textfeld wäre aber anschließend das englische Fomat sichtbar.


specci48
 

Paulsche

Well-Known Member
Licensed User
Longtime User
Also ich bin nun mit folgender Methode zufrieden:

Alle Beträge sind als String im deutschen Format sichtbar und werden auch so
in den Tabellen gespeichert.

Soll gerechnet werden, wird kurz mit "konvertToenglish" ins englische konvertiert,
das Ergebnis dann wieder mit "KonvertToGerman" in Deutsch konvertiert,
wobei man hier dann sogar noch die Kommastelle angeben kann.

Wenn man das im Programm konsequent so beibehält ist es kein Problem.
 
Top