Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Zahlen Format Problem. (https://www.delphipraxis.net/13888-zahlen-format-problem.html)

mfg 28. Dez 2003 17:07


Zahlen Format Problem.
 
Hallo,

ich möchte einen String der eine Zahl enthält in eine Zahl mit Nachkommastelle umwandeln. Jedoch habe ich da je nach Betriebssystem ein problem. denn für das eine ist 0.0 eine Gleitkommazahl, für das andere 0,0. Gibt es da eine universal funktion, oder eine einfache möglichkeit daraus eine REAL Zahl zu machen ?

Danke,

mfg

BTW: kann mir wer erklären, wie ich "ein thread wieder als beantwortet" kennzeichne !?

Dagon 28. Dez 2003 17:29

Re: Zahlen Format Problem.
 
Ich mache das immer so: Ich erlaube als Eingabe nur den Punkt (.) und nicht das Komma. Den String wandle ich danach mit Val um.

greyblue 28. Dez 2003 17:30

Re: Zahlen Format Problem.
 
z.B.

FloatToStr(strToFloat(Edit1.Text)/100)

Gruss

mfg 28. Dez 2003 17:34

Re: Zahlen Format Problem.
 
aber was soll ich machen, wenn edit1.text 1.1 ist und einmal als FLOAT nur 1.1 akzeptiert und beim anderen pc nur 1,1 als float ?

Niko 28. Dez 2003 17:41

Re: Zahlen Format Problem.
 
Delphi-Quellcode:
procedure DezKomma(s: String; var v: Single; var Code: Integer);
begin
  Val(StringReplace(s, ',', '.', []);, v, Code);
end;
Nicht getestet, sollte aber funktionieren.

mfg 28. Dez 2003 18:22

Re: Zahlen Format Problem.
 
naja so läufts ja auch wieder nur auf einem system, so hab ich es ja zur zeit auch ...

... kann man nicht rausfinden, wie das aktuelle system eine gleitkommazahl definiert, also mit . oder , ?

Sharky 29. Dez 2003 09:11

Re: Zahlen Format Problem.
 
Hai mfg,

schaue dir mal die von Delphi zur verfügung gestellte Variable DecimalSeparator (in der Unit SysUtils) an.

mfg 29. Dez 2003 21:55

Re: Zahlen Format Problem.
 
hey das scheint zu gehen... zu mindest auf mienem system, mal sehen was die mit den anderen systemen sagen ;)

danke schonmal

(wie markier ich die frage als beantwortet ?)

Niko 30. Dez 2003 16:39

Re: Zahlen Format Problem.
 
Nur noch zur Ergänzung:
Im Gegensatz zu StrToFloat verlangt val auf jedem System einen Punkt als Dezimaltrennzeichen - unabhängig von den Ländereinstellungen. Um Komma und Punkt zuzulassen kannst du deshalb, wie oben von mir gezeigt, einfach das Komma in einen Punkt umwandeln und mit diesem veränderten String val aufrufen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:21 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz