Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Komma/Punkt Dezimalseperator (https://www.delphipraxis.net/79347-komma-punkt-dezimalseperator.html)

Leonard 20. Okt 2006 16:10

Re: Komma/Punkt Dezimalseperator
 
Zitat:

Zitat von OldGrumpy
Leonard, lies bitte die beiden Nachträge in meinem Post :)

ok, ok, jetzt sind die auch angekommen. Ich werde das nächste mal erst den :warn: machen, nachdem 2 Edits da sind. :-D

DoktorD 20. Okt 2006 16:20

Re: Komma/Punkt Dezimalseperator
 
Genau sowas wollte ich wissen. Super, vielen Dank!!!

Hansa 20. Okt 2006 16:22

Re: Komma/Punkt Dezimalseperator
 
Macht ihr das aber kompliziert. :stupid: Eine INI-Datei ist nur eine Textdatei und wenn da 1,50 drin steht, dann ist das eben so. Statt StrReplace und anderes einzusetzen hätte ich schon längst die 1,50 abgespeichert als 150. Dann braucht man nämlich nur durch 100 zu teilen und egal wie die Ländereinstellungen sind, es wird immer funktionieren.

Luckie 20. Okt 2006 16:32

Re: Komma/Punkt Dezimalseperator
 
Und wenn er da was mit den Ländereinstellungen reinschreibt? Würde ich übrigens auch so erwarten.

Hansa 20. Okt 2006 16:47

Re: Komma/Punkt Dezimalseperator
 
Du meinst, wenn er da z.B. "Äpfel" in die INI reinschreibt ? Das Ä könnte dann falsch angezeigt / gedruckt werden. Ein Ami würde aber wohl kaum irgendwo deutsche Umlaute drin haben wollen. :shock: Theoretisch vielleicht. Praktisch dürfte so ein Fall äußerst selten vorkommen. Wenn aber schon eine Zahl das Programm zum abstürzen bringen kann (StrToFloat geht nicht => falsche Initialisierung und und...), da hörts auf. 8) Das muß echt nicht sein.

Luckie 20. Okt 2006 19:04

Re: Komma/Punkt Dezimalseperator
 
Wenn du mich nicht verstehen willst, dan antworte bitte auch nicht. Du hast selsbt das beispiel mit der 1,5 angeführt. Würde das auf einem amerikanischen Rechner länderspezifisch gespeichert werden, wäre das 1.5. Bei dir würde aber nach wie vor 1,5 in der Ini-Datei stehen.

OldGrumpy 20. Okt 2006 19:39

Re: Komma/Punkt Dezimalseperator
 
Ausserdem mal wieder viel zu kurz gedacht, was ist wenn die Daten aus einer Quelle stammen, über die man keine Kontrolle hat? Zum Beispiel nen Aktienkursticker. Inwiefern eine Lösung, die einem mit ziemlich wenig "Mehraufwand" viel Kopfschmerzen erspart, als umständlich zu bezeichnen ist, ist fraglich :)
Ich versuche meine Projekte von Anfang an so auszulegen dass a) Übersetzung (Lokalisierung) kein grosses Problem ist, und b) der Code möglichst überall gleich funktioniert. Das erspart einem später viel Aufwand.

Hansa 20. Okt 2006 19:50

Re: Komma/Punkt Dezimalseperator
 
Zitat:

Zitat von Luckie
Wenn du mich nicht verstehen willst...

Äh, Luckie, Du verstehst lediglich mich nicht. :mrgreen: Es gibt Probleme mit ,. also Decimalseparator. Was liegt da näher, dieses vollständig zu eliminieren und die Zahl einfach als Ganzzahl in die INI zu schreiben. Sofern nicht im Programm noch sonstwo , oder . im Klartext drin steht und es wird auch die Funktion DecimalSeparator stattdessen verwendet, dann wird das Programm laufen. Im Falle von 1,5 speichere ich 150 in der INI, lese das auch daraus, teile durch 100 und fertig. Speichere ich stattdessen 1,50 in der INI und versuche das irgendwie als Zahl aus der Ini zu lesen : es wird krachen. Außer im deutschsprachigen Raum und da ist das nicht mal garantiert. Wenn es aber überall sonst sowieso falsch ist, dann fange ich doch nicht an, eine nicht astreine INI ins Ausland zu liefern und dann mühselig mit StringReplace oder sonstwie richtig zu biegen nur um eine einzige Division zu sparen. 8)

Luckie 20. Okt 2006 20:21

Re: Komma/Punkt Dezimalseperator
 
Oh Gott. Und wenn du vorher nicht weißt wie viele Kommastellen es sind? Speichern kann man es ja noch. Aber woher weißt du durch was für eine zehner Potenz du beim Auslesen Teilen musst? Willst du das auch noch mit abspeichern? Warum nicht die Methode von OldGrumpy nehmen? Die ist effizient, einfach und fehlerfrei richtig angewendet.

alzaimar 20. Okt 2006 20:36

Re: Komma/Punkt Dezimalseperator
 
Luckie und Hansa bei ihren Ehestreitereien. Typisch für Freitagabend. :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:40 Uhr.
Seite 2 von 3     12 3      

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