AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Floattostr wandelt Komma in #0

Ein Thema von ioster · begonnen am 15. Apr 2015 · letzter Beitrag vom 16. Apr 2015
 
Popov
(Gast)

n/a Beiträge
 
#19

AW: Floattostr wandelt Komma in #0

  Alt 15. Apr 2015, 18:34
Wenn ich das Beispiel von popov nutze, manipuliere ich dann die Standardeinstellungen des Systems?
Weder die des Systems, noch die des Programms. Nur die eines Records.

Zuerst, nicht alles was ein T am Anfang hat ist eine Klasse. TFormatSettings ist hier ein Record:
Delphi-Quellcode:
type
  TFormatSettings = record
    CurrencyFormat: Byte;
    NegCurrFormat: Byte;
    ThousandSeparator: Char;
    DecimalSeparator: Char;
    CurrencyDecimals: Byte;
    DateSeparator: Char;
    TimeSeparator: Char;
    ListSeparator: Char;
    CurrencyString: string;
    ShortDateFormat: string;
    LongDateFormat: string;
    TimeAMString: string;
    TimePMString: string;
    ShortTimeFormat: string;
    LongTimeFormat: string;
    ShortMonthNames: array[1..12] of string;
    LongMonthNames: array[1..12] of string;
    ShortDayNames: array[1..7] of string;
    LongDayNames: array[1..7] of string;
    TwoDigitYearCenturyWindow: Word;
  end;
Eigentlich ist das Beispiel was ich am Anfang geschrieben habe nicht ganz korrekt, denn bei
Delphi-Quellcode:
var
  d: Double;
  fs: TFormatSettings;
  s: string;
begin
  d := 4.5887305339;
  fs.DecimalSeparator := ',';
  s := FloatToStr(d, fs);
steht in fs nur Müll. Auf jeden Fall nicht die in Deutschland gültigen Ländereinstellungen. Sollte man nicht machen, man sollte zuerst GetLocaleFormatSettings(LOCALE_SYSTEM_DEFAULT, fs); aufrufen. Das ist aber in dem Fall nicht so wichtig, denn mit der Zeile fs.DecimalSeparator := ','; habe ich den für mich wichtigen Wert angepasst. Und wenn ich es nun mitschicke, weiß FloatToStr, dass ich ein Komma als Dezimalseparator ansehe. Danach kann ich den fs Record vergessen. Es gab keine Änderungen irgendwo, nur in fs.

Zitat:
Muss ich mir mit TFormatSettings.Create eine eigene erstellen
Nein, sofort nutzen.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:13 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