Entwickler-Ecke

Sonstiges (Delphi) - FloatToStr();


Aya - Do 28.11.02 18:22
Titel: FloatToStr();
Hi,

wenn ich mit FloatToStr(5.35); die zahl in einen string umwandle bekomme ich als ergebniss ja "5,35" (ein kommer, KEIN Punkt)

Wenn ich das ganze jetzt in Amerika mache auf einem Amerikanischen Windows... liefert es dann "5,35" oder "5.35" als String zurück??? (Compiliert ist es auf einem Deutschen System)

Au'revoir,
Aya~


bis11 - Do 28.11.02 18:49

Hi,

ich schätze, das kommt darauf an, welche Zeichen dafür in der Ländereinstellung eingetragen ist.


tommie-lie - Do 28.11.02 19:25

richtig, bis11.
Am einfachsten (ohne Ländereinstellungen zu ändern) geht's vermutlich, wenn du nach dem Komma suchst (mit Pos) und anschließend das Komma löschst und durch einen Punkt ersetzt.
Ist die Ländereinstellungen bereits Englisch (weil das OS so eingestellt ist oder weiß der Geier warum), so musst du vorher abfragen, ob er das Komma nicht findet (also if KommaImString then Pos usw), weil ich nicht auswendig weiß, was Pos zurückgibt, wenn's das gesuchte Zeichen nicht findet...


Delete - Do 28.11.02 19:28

Kuck mal in der Hilfe unter DecimalSeparator.


Anonymous - Do 28.11.02 19:45

Sorry Luckie, DecimalSeparator steht nur als Randbemerkung in der Hilfe und kann direkt nicht gefunden werden.

Ich hab ein altes Beispiel in meiner Sammlung:


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
procedure TForm1.Button1Click(Sender: TObject);
var
  r: Real;
begin
  r := StrToFloat('12345,67');
  DecimalSeparator := ',';
  ShowMessage(FloatToStr(r));
  DecimalSeparator := '.';
  ShowMessage(FloatToStr(r));
  DecimalSeparator := '#';
  ShowMessage(FloatToStr(r));
  DecimalSeparator := '.';
  ShowMessage(FloatToStr(r));
end;


Delete - Do 28.11.02 19:49

Komisch, bei mir nicht. ist sogar ein Beispiel für DateSeparator dabei und eine schöne Erklärung:
Zitat:

The SysUtils unit includes a number of variables that are used by various formatting routines. Values are assigned to these variables to define the formats of numeric and date/time strings.

:roll:


Aya - Do 28.11.02 20:01

Hi,

also bei mir steht's in der Hilfe auch drin... zusammen mit ner menge andere solcher Variablen :)

Aber trotzdem danke an alle

*winkt*
Aya


Anonymous - Do 28.11.02 20:37

@Luckie

Ok, kann sein, daß die inzwischen die Hilfe etwas verbessert haben. Ich denke irgendwie immer noch in der Delphi 3 Hilfe. Da steht es lediglich als eine einzige Randbemerkung und ohne ein Beispiel.


Delete - Do 28.11.02 21:21

D6 Personal.