Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   FloatToStr ohne Nullen nach dem Komma (https://www.delphipraxis.net/213240-floattostr-ohne-nullen-nach-dem-komma.html)

Alallart 22. Jun 2023 09:50

FloatToStr ohne Nullen nach dem Komma
 
Ich suche eine Funktion, die mir meine Zahl so formatiert, wie ich sie brauche. Nehmen wir an ich habe folgende Zahlen:

1000,25
1000,10
1000,00

Die Zahlen sind Extended, stehen also als Zahl zur Verfügung. Ich brauche die nun als String, aber in US Schreibweise (Punkt als Komma), und keine Nullen am Ende, also:

1000.25
1000.1
1000

Ich finde keine Funktion die mir sowas direkt liefert. Das mit den Tausender-Trennzeichen ist kein Problem, FloatToStr und FormatFloat schneiden die Nullen am Ende weg, liefen mir die Zahl aber mit einem deutschen Komma am Ende. Mit FloatToStrF kann ich mit Digits das Dezimaltrennzeichen beeinflussen, bekomme aber Nullen als Nachkommastellen. Entweder immer zwei Nachkommastellen, oder nie Nachkommastellen, aber nicht wenn es Nullen sind.

Natürlich habe ich mir meine eigene Funktion erstellt, aber dennoch frage ich mich ob es da etwas fertiges gibt.

Neutral General 22. Jun 2023 10:03

AW: FloatToStr ohne Nullen nach dem Komma
 
Du musst den 2. Parameter von FloatToStr verwenden: AFormatSettings:
Delphi-Quellcode:
var fs: TFormatSettings;
begin
  fs := TFormatSettings.Create('en-US');
  Caption := FloatToStr(10.234, fs);
end;

Alallart 22. Jun 2023 10:28

AW: FloatToStr ohne Nullen nach dem Komma
 
Danke, habe ich übersehen, dass FloatToStr diese Möglichkeit bietet.


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

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