Forum: Object-Pascal / Delphi-Language
Delphi
by DeddyH,
26. Mär 2013
Dann habe ich anscheinend die Notation nicht verstanden, ich war der Meinung, es geht um Fließkommazahlen.
Forum: Object-Pascal / Delphi-Language
Delphi
by DeddyH,
26. Mär 2013
Bist Du wirklich sicher, dass das so stimmt? Immerhin sind 3,50 und 3,05 ja unterschiedliche Zahlen, ich hätte da meine Bedenken.
Forum: Object-Pascal / Delphi-Language
Delphi
by DeddyH,
26. Mär 2013
Ich wüsste nicht, da ja die eingehende Zahl faktisch falsch ist, und zwar ihr Wert und nicht nur ihre Darstellung. Es sei denn, Du kennst Kriterien, anhand derer Du das erkennen könntest, dann müsstest Du sie halt korrigieren.
Forum: Object-Pascal / Delphi-Language
Delphi
by DeddyH,
26. Mär 2013
Und wenn Du die "Delphi 5"-Variante nimmst und den Settings-Parameter beim Format-Befehl weglässt?
Forum: Object-Pascal / Delphi-Language
Delphi
by DeddyH,
26. Mär 2013
Im Ausgangspost hast Du Delphi 5 angegeben. Ja, es wird wahrscheinlich am Komma liegen, deshalb ja der "Aufwand" mit den FormatSettings. Da musst Du mal in der Hilfe nachlesen, wie das unter Delphi 2009 genau funktioniert.
Neuer Versuch:
var
Settings: TFormatSettings;
begin
GetLocaleFormatSettings(LOCALE_SYSTEM_DEFAULT, Settings);
Settings.DecimalSeparator := '.';
...
Forum: Object-Pascal / Delphi-Language
Delphi
by DeddyH,
26. Mär 2013
Ich habe hier kein Delphi 5 zur Verfügung. Was kommt denn hierbei heraus?
var
OldSep: char;
begin
OldSep := DecimalSeparator;
try
DecimalSeparator := '.';
ShowMessage(Format('%.3f', ));
finally
DecimalSeparator := OldSep;
Forum: Object-Pascal / Delphi-Language
Delphi
by DeddyH,
26. Mär 2013
Und Du hast den Code per C&P eingefügt? Bei mir kommt nämlich beim ShowMessage
heraus.
Forum: Object-Pascal / Delphi-Language
Delphi
by DeddyH,
26. Mär 2013
Die Routine war eigentlich gar nicht in der Form für den Produktiveinsatz gedacht. Hast Du mal debuggt? Betrifft das nur die Ausgabe, oder sind die Daten schon falsch?
Forum: Object-Pascal / Delphi-Language
Delphi
by DeddyH,
26. Mär 2013
Kleiner Test ohne jegliche Fehlerbehandlung:
uses StrUtils;
procedure TForm24.Button1Click(Sender: TObject);
type
TGeoData = record
NSOrientation: char;
NSDegree: integer;
NSMinutes: double;
EWOrientation: char;
Forum: Object-Pascal / Delphi-Language
Delphi
by DeddyH,
26. Mär 2013
Zerlege das Original in seine Bestandteile und bring ihn dann mit Format in das gewünschte Format.