Autor Beitrag
p4nsen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26



BeitragVerfasst: Mi 17.12.03 14:52 
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

ausblenden 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);    //ZahlF wird Eingabe des Nutzers zugewiesen
  result := true;              //wenn die umwandlung in Zahl gelingt = True
 except
  result := false;            //ansonsten gib false zurück, dann Fehlermeld.
 end;
end;


allerdings akzeptiert er hier nur die länderspeziefischen Kommatrennungen (sprich "," oder ".") aber nicht beides....
Chatfix
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1583
Erhaltene Danke: 10

Win 10, Win 8, Win 7, Win Vista, Win XP
VB.net (VS 2015), MsSQL (T-SQL), HTML, CSS, PHP, MySQL
BeitragVerfasst: Mi 17.12.03 15:02 
Da Delphi wenn ich mich recht erinnere mit Punkt arbeitet mach doch einfach
ausblenden 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...

_________________
Gehirn: ein Organ, mit dem wir denken, daß wir denken. - Ambrose Bierce
p4nsen Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26



BeitragVerfasst: Mi 17.12.03 15:08 
ausblenden 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:


Zuletzt bearbeitet von p4nsen am Mi 17.12.03 15:18, insgesamt 3-mal bearbeitet
Chatfix
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1583
Erhaltene Danke: 10

Win 10, Win 8, Win 7, Win Vista, Win XP
VB.net (VS 2015), MsSQL (T-SQL), HTML, CSS, PHP, MySQL
BeitragVerfasst: Mi 17.12.03 15:10 
jo hab mich verbessert es heist StringReplace, sorry

_________________
Gehirn: ein Organ, mit dem wir denken, daß wir denken. - Ambrose Bierce
p4nsen Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26



BeitragVerfasst: Mi 17.12.03 15:17 
hab oben nochma edit-fkt vorgenommen
*schieb* :roll: :roll:
Chatfix
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1583
Erhaltene Danke: 10

Win 10, Win 8, Win 7, Win Vista, Win XP
VB.net (VS 2015), MsSQL (T-SQL), HTML, CSS, PHP, MySQL
BeitragVerfasst: 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:

ausblenden 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;

_________________
Gehirn: ein Organ, mit dem wir denken, daß wir denken. - Ambrose Bierce
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1583
Erhaltene Danke: 10

Win 10, Win 8, Win 7, Win Vista, Win XP
VB.net (VS 2015), MsSQL (T-SQL), HTML, CSS, PHP, MySQL
BeitragVerfasst: Mi 17.12.03 17:48 
Kuhl, das wusste ich auch noch nicht...
Ich sag ja man kann nur lernen^^

_________________
Gehirn: ein Organ, mit dem wir denken, daß wir denken. - Ambrose Bierce
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 17.12.03 19:26 
Man ist stets gern zu Diensten. :)