Entwickler-Ecke
Sonstiges (Delphi) - Länderspeziefische Kommaeinstellungen
p4nsen - Mi 17.12.03 14:52
Titel: Länderspeziefische Kommaeinstellungen
fogende frage, wie kann ich in meinem progg, dass am dümmsten machen, dass wenn ich deutsche Ländereinstellungen hab es trotzdem akzeptiert wird wenn ein punkt in meiner gleitkommazahl ist und bei englischen das komma akzeptiert wird?
mein programm ist halt in deutsch und englisch, thx im vorraus... hier mal n beispielcode wie ich mir das dachte
also ich brauche halt eine prüfung, ob die eingabe ein gleitkommawert war
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| function FloatOk(Txt : string) : boolean; var ZahlF : double; begin try ZahlF := StrToFloat(Txt); result := true; except result := false; end; end; |
allerdings akzeptiert er hier nur die länderspeziefischen Kommatrennungen (sprich "," oder ".") aber nicht beides....
Chatfix - Mi 17.12.03 15:02
Da Delphi wenn ich mich recht erinnere mit Punkt arbeitet mach doch einfach
Delphi-Quelltext
1:
| StringReplace(',', '.', Txt); |
Damit ersetzt du das Komme durch den Punkt und somit müsste es ja klappen...
Bei der Ausgabe kannst du ja je nach dem genau so den Punkt wieder ins Komma umwandeln...
p4nsen - Mi 17.12.03 15:08
Delphi-Quelltext
1:
| StrReplace(',', '.', Txt); |
kanns sein das es das in meiner delphiverison net gitb^^
zumindest wirds vom kompilerr nich anerkannt... oder muss ich erst noch ne bibliothek includieren *kA* :roll:
//EDIT
und mein prob is ja was ich festgestellt hab, wenn ich deutsche ländereinstellung hab meckert er bei nem "."
bei englischen akzeptiert er das "," in der geleitkommazahl nich
thx schonma :wink:
Chatfix - Mi 17.12.03 15:10
jo hab mich verbessert es heist StringReplace, sorry
p4nsen - Mi 17.12.03 15:17
hab oben nochma edit-fkt vorgenommen
*schieb* :roll: :roll:
Chatfix - Mi 17.12.03 15:24
Naja entweder du rufst die sprache aus dem system ab oder du probierst es halt 2 mal, einmal mit punkt und einmal mit komma...
der anwender muss es ja nicht mitbekommen ;-)
Und wie du Punkt und Komma tauschen kannst habsch dir ja geschrieben...
Du könntest es ja so machen:
Delphi-Quelltext
1: 2: 3: 4: 5:
| var IsFloat: Boolean; if not FloatOk(StringReplace('.', ',', Edit1.Text)) then IsFloat := FloatOk(StringReplace(',', '.', Edit1.Text)) else IsFloat := True; |
Delete - Mi 17.12.03 17:13
Tipp mal bitte in den Delphi-Editor DecimalSeparator ein und lass dir die Hilfe dazu anzeigen. Das dürfte die einfachste Variante sein, weil du damit (ggf. eben auch unabhängig von der eingestellten Sprache) das Zeichen für das Komma einstellen kannst.
Chatfix - Mi 17.12.03 17:48
Kuhl, das wusste ich auch noch nicht...
Ich sag ja man kann nur lernen^^
Delete - Mi 17.12.03 19:26
Man ist stets gern zu Diensten. :)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!