AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi FormatFloat : Gerundete ganze Zahlen mit Punkt als Tausendertrennzeichen
Thema durchsuchen
Ansicht
Themen-Optionen

FormatFloat : Gerundete ganze Zahlen mit Punkt als Tausendertrennzeichen

Ein Thema von Piro · begonnen am 24. Jun 2013 · letzter Beitrag vom 26. Jun 2013
Antwort Antwort
Benutzerbild von Piro
Piro

Registriert seit: 14. Jul 2003
Ort: Flintbek
810 Beiträge
 
Delphi XE2 Professional
 
#1

FormatFloat : Gerundete ganze Zahlen mit Punkt als Tausendertrennzeichen

  Alt 24. Jun 2013, 15:03
Moin zusammen,

ich habe folgenden Code
Delphi-Quellcode:
var
 expected_cat_hours_dollar : Real;
...
expected_cat_hours_dollar := 8991,567;

lbl_expected_cat_hours_dollar.Caption := FormatFloat(',0', expected_cat_hours_dollar) + ' $';
// Ausgabe : 8992 $
Das Ergebnis ist so wie ich es haben möchte. Es sollen immer ganze Zahlen herauskommen ohne Nachkommastelle und der Tausendtrenner soll ein Punkt sein.

Bin mir nur nicht ganz sicher, ob ich mit ",0" die richtige Formatierung genommen habe. Die Dokumentation zu FormatFloat und die Artikel im Netz haben mich sehr verwirrt und lassen mich zweifel, dass ich es nicht zu 100% richtig gemacht habe.

Wäre schön, wenn mir einer von Euch meinen Code bestätigen kann oder eventuell noch Verbesserung vorschlägt.

Danke im Voraus.
Sven
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: FormatFloat : Gerundete ganze Zahlen mit Punkt als Tausendertrennzeichen

  Alt 24. Jun 2013, 15:08
Nach Doku:
Zitat:
Position und Anzahl der Trennzeichen im Format-String wirkt sich nicht auf die Ausgabe aus. Sie geben nur an, dass Trennzeichen eingefügt werden sollen
Ist doch so alles ok denke ich?
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: FormatFloat : Gerundete ganze Zahlen mit Punkt als Tausendertrennzeichen

  Alt 24. Jun 2013, 15:12
Die Dokumentation ist da doch eindeutig

Delphi-Referenz durchsuchenSysUtils.FormatFloat

Mit dem "," ist das Tausender-Trennzeichen gemeint.
Welches das aber genau ist, hängt von den FormatSettings des Systems ab.

Willst du generell festlegen, dass es immer der "." ist, dann solltest du die überladene Version von FormatFloat benutzen und die gewünschten FormatSettings mit angeben.

Da es sich aber um einen Währungsbetrag handelt, würde ich eher auf Delphi-Referenz durchsuchenSysUtils.FormatCurr zurückgreifen
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo (24. Jun 2013 um 15:15 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Gollum
Gollum

Registriert seit: 14. Jan 2003
Ort: Boxberg
456 Beiträge
 
Delphi 10.1 Berlin Professional
 
#4

AW: FormatFloat : Gerundete ganze Zahlen mit Punkt als Tausendertrennzeichen

  Alt 26. Jun 2013, 06:44
Hallo,

die gewünschte Formatierung erhällst Du folgendermaßen:
  lbl_expected_cat_hours_dollar.Caption := FormatFloat('#,#0 $', expected_cat_hours_dollar);
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#5

AW: FormatFloat : Gerundete ganze Zahlen mit Punkt als Tausendertrennzeichen

  Alt 26. Jun 2013, 07:09
Da das '#' Zeichen im Formatstring nur besagt, das optional (d.h. wenn sie denn da ist) eine Ziffer angezeigt werden soll, kann man sie (vor dem Dezimaltrenner) auch weglassen. Insofern ist '#,#0' mit ',0' kompatibel und erzeugt das gleiche Ergebnis. Imho ist jedoch '#,#0' besser zu lesen, denn es bedeutet: Verwende Tausendertrenner und zeige eine Null als '0' an. '#,#' würde die 0 als Leerstring anzeigen.

Das identische ',0' bzw. ',' sieht blöd aus, meint das Gleiche, sagt aber:
  Mit Zitat antworten Zitat
Antwort Antwort


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 12:46 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