AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi "Real" soll Nachkommastellen ausgeben!
Thema durchsuchen
Ansicht
Themen-Optionen

"Real" soll Nachkommastellen ausgeben!

Ein Thema von Avicenna · begonnen am 13. Feb 2008 · letzter Beitrag vom 14. Feb 2008
Antwort Antwort
Seite 2 von 4     12 34      
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#11

Re: "Real" soll Nachkommastellen ausgeben!

  Alt 13. Feb 2008, 21:46
Deine Bedenken sind die meinen.

Deddys "Format" ist allerdings überdimensioniert, weil das reicht :

FloatToStrF (RealZahl,ffFixed,8,2); Aber ist wohl schon zu viel verlangt. Insofern....
Gruß
Hansa
  Mit Zitat antworten Zitat
Avicenna
(Gast)

n/a Beiträge
 
#12

Re: "Real" soll Nachkommastellen ausgeben!

  Alt 14. Feb 2008, 15:30
Was ich damit sagen wollte:

Ich bleibe dabei, dass mit die standardmäßige Anzahl von Nachkommastellen angezeigt wird.

DeddyHs Quellcode hat mich schlichtweg erschreckt.
Hansas Quellcode sieht da schon etwas benutzerfreundlicher aus. Aber was bedeutet hier die 8 und die 2? Muss ich bei RealZahl meine Variable schnitt angeben? Ist die Groß- und Kleinschreibung bei FloatToStrF belanglos?
  Mit Zitat antworten Zitat
HalloDu

Registriert seit: 24. Apr 2006
Ort: Oelde
267 Beiträge
 
Delphi 2009 Professional
 
#13

Re: "Real" soll Nachkommastellen ausgeben!

  Alt 14. Feb 2008, 15:43
Entschuldige mal. Ist es zuviel verlangt in der Hilfe nachzuschauen, was die Parameter bedeuten? Du wirst nicht immer so weiter kommen und das ist dir hoffentlich klar.
Frederic H.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#14

Re: "Real" soll Nachkommastellen ausgeben!

  Alt 14. Feb 2008, 15:48
Also, "überdimensioniert" finde ich Format eigentlich nicht, vor allem, wenn man mehrere Variablen darstellen möchte. Und nach genauem Durchlesen der Hilfe und etwas Übung geht das auch recht flott von der Hand.
Zitat von Delphi 5-Hilfe:
Mit Format-Strings wird das Format für Formatierungsroutinen angegeben.

Kategorie

String-Formatierung

Beschreibung

Format-Strings, die an die Formatierungsroutinen für Strings übergeben werden, können zwei Arten von Objekten enthalten: literale Zeichen und Formatbezeichner. Literale Zeichen werden wörtlich in den resultierenden String kopiert. Formatbezeichner rufen Argumente aus der Argumentliste ab und weisen ihnen ein Format zu.
Formatbezeichner werden in der folgenden Form angegeben:

"%" [index ":"] ["-"] [width] ["." prec] type

Jeder Formatbezeichner beginnt mit dem Zeichen %. Auf das Prozentzeichen folgt eine der nachstehenden Angaben (in der aufgeführten Reihenfolge):

Ein optionaler Argumentindex-Bezeichner: [index ":"]
Eine optionale Angabe für die linksbündige Ausrichtung: ["-"]
Eine optionale Breitenangabe: [width]
Eine optionale Genauigkeitsangabe: ["." prec]
Das Zeichen für den Konvertierungstyp: type

In der folgenden Tabelle sind die verschiedenen Werte aufgeführt:

d d Dezimal. Das Argument muß ein Integerwert sein. Der Wert wird in einen String umgewandelt, der aus Dezimalzahlen besteht. Wenn der Format-String einen Bezeichner für die Genauigkeit enthält, muß der resultierende String mindestens die angegebene Anzahl von Stellen aufweisen. Enthält er weniger Stellen, wird der String auf der linken Seite mit Nullen aufgefüllt.
u u Vorzeichenlose Dezimalzahl. Das Format "u" entspricht dem Format "d", allerdings enthält der resultierende String kein Vorzeichen.
e e Wissenschaftliche Notation. Das Argument muß ein Gleitkommawert sein. Der Wert wird in einen String mit der folgenden Form umgewandelt: "-d,ddd...E+ddd". Wenn es sich um eine negative Zahl handelt, beginnt der String mit einem Minuszeichen. Vor dem Dezimaltrennzeichen steht immer eine Ziffer.
Die Gesamtzahl der Stellen im Ergebnis-String (einschließlich der Ziffer vor dem Dezimalkomma) wird durch den Genauigkeitsbezeichner im Format-String festgelegt. Ist dieser nicht vorhanden, wird eine vorgegebene Genauigkeit von 15 Stellen angenommen. Auf den Exponenten "E" im String folgen immer ein Plus- oder Minuszeichen und mindestens drei Stellen.
f f Fest. Das Argument muß ein Gleitkommawert sein. Der Wert wird in einen String mit der folgenden Form umgewandelt: "-ddd,ddd...". Wenn es sich um eine negative Zahl handelt, beginnt der String mit einem Minuszeichen.
Die Anzahl der Stellen nach dem Dezimalkomma wird durch den Genauigkeitsbezeichner im Format-String festgelegt. Ist dieser nicht vorhanden, wird eine vorgegebene Genauigkeit von zwei Dezimalstellen verwendet.
g g Allgemein. Das Argument muß ein Gleitkommawert sein. Der Wert wird unter Verwendung des Formats Fest oder wissenschaftliche Notation in den kürzestmöglichen Dezimal-String umgewandelt. Die Anzahl der signifikanten Stellen im resultierenden String wird durch den Genauigkeitsbezeichner im Format-String festgelegt. Ist dieser nicht vorhanden, wird eine vorgegebene Genauigkeit von 15 Stellen angenommen.
Nachfolgende Nullen werden aus dem resultierenden String entfernt. Ein Dezimaltrennzeichen wird nur bei Bedarf angezeigt. Für den resultierenden String wird das Festkommaformat verwendet, wenn die Anzahl der Stellen vor dem Dezimaltrennzeichen kleiner oder gleich der festgelegten Genauigkeit und der Wert größer oder gleich 0,00001 ist. In allen anderen Fällen wird die wissenschaftliche Notation benutzt.
n n Zahl. Das Argument muß ein Gleitkommawert sein. Der Wert wird in einen String mit der folgenden Form umgewandelt: "-d.ddd.ddd,ddd...". Das Format "n" entspricht dem Format "f", allerdings enthält der resultierende String Tausendertrennzeichen.
m m Währung. Das Argument muß ein Gleitkommawert sein. Der Wert wird in einen String umgewandelt, der einen Währungsbetrag darstellt. Die Steuerung der Konvertierung erfolgt mit Hilfe der globalen Variablen CurrencyString, CurrencyFormat, NegCurrFormat, ThousandSeparator, DecimalSeparator und CurrencyDecimals. Diese Variablen werden mit den Einstellungen initialisiert, die in der Windows-Systemsteuerung in der Registerkarte Währung der Ländereinstellungen enthalten sind. Enthält der Format-String einen Genauigkeitsbezeichner, setzt dieser den Wert in der globalen Variablen CurrencyDecimals außer Kraft.
p p Zeiger: Das Argument muß ein Zeigerwert sein. Der Wert wird in einen String mit acht Zeichen, der den hexadezimalen Wert des Zeigers darstellt, konvertiert.
s s String. Das Argument muß ein Zeichen, ein String oder ein PChar-Wert sein. Der String bzw. das Zeichen wird anstelle des Formatbezeichners eingefügt. Wenn im Format-String ein Genauigkeitsbezeichner angegeben ist, bestimmt er die maximale Länge des resultierenden Strings. Ist das Argument ein String, der diese Maximallänge überschreitet, wird der String abgeschnitten.
x x Hexadezimal. Das Argument muß ein Integerwert sein. Der Wert wird in einen String umgewandelt, der aus hexadezimalen Stellen besteht. Wenn der Format-String einen Bezeichner für die Genauigkeit enthält, muß der resultierende String mindestens die angegebene Anzahl von Stellen aufweisen. Enthält er weniger Stellen, wird der String auf der linken Seite mit Nullen aufgefüllt.
Konvertierungszeichen können beliebig in Klein- oder Großschreibung angegeben werden.
Bei allen Gleitkommaformaten wird das Zeichen für das Dezimal- bzw. das Tausendertrennzeichen aus den globalen Variablen DecimalSeparator und ThousandSeparator ausgelesen.
Die Bezeichner für Index, Breite und Genauigkeit können direkt durch Angabe eines Strings mit dezimalen Ziffern (z.B. "%10d") oder indirekt mit Hilfe von Sternchen (z.B. "%*.*f") angegeben werden. Im letzteren Fall wird das Argument, das in der Argumentliste auf das Sternchen folgt (es muß sich dabei um einen Integerwert handeln), als tatsächlicher Wert verwendet. Ein Beispiel:

Format('%*.*f', [8, 2, 123.456])

ist identisch mit

Format('%8.2f', [123.456]).

Der Breitenbezeichner legt die minimale Länge des Feldes für die Konvertierung fest. Ist der resultierende String kürzer als die minimale Feldlänge, wird er mit Leerzeichen aufgefüllt. Per Vorgabe werden die Leerzeichen vor dem Wert eingefügt, um eine rechtsbündige Ausrichtung zu erreichen. Enthält der Formatbezeichner jedoch einen Indikator für linksbündige Ausrichtung (vor dem Breitenbezeichner steht in diesem Fall ein Minuszeichen), werden die Leerzeichen nach dem Wert eingefügt und dieser linksbündig ausgerichtet.

Ein Indexbezeichner setzt den aktuellen Index der Argumentliste auf den angegebenen Wert. Der Index des ersten Arguments in der Liste hat den Wert 0. Durch die Verwendung von Indexbezeichnern kann dasselbe Argument mehrfach formatiert werden. Beispielsweise erzeugt "Format('%d %d %0:d %d', [10, 20])" den String '10 20 10 20'.

Die Format-Strings werden von den folgenden Routinen verwendet:

Format (Funktion)
FormatBuf (Funktion)
FmtStr (Prozedur)
StrFmt (Funktion)
StrLFmt (Funktion)
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Avicenna
(Gast)

n/a Beiträge
 
#15

Re: "Real" soll Nachkommastellen ausgeben!

  Alt 14. Feb 2008, 15:50
Zitat von HalloDu:
Ist es zuviel verlangt in der Hilfe nachzuschauen, was die Parameter bedeuten?
Selbstverständlich. Dank deinem Rat habe ich mich bemüht, die Hilfe zu benutzen und weiß nun, dass die 8 für die Nachkommastellen steht.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#16

Re: "Real" soll Nachkommastellen ausgeben!

  Alt 14. Feb 2008, 15:52
Die 2 steht für die Nachkommastellen
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#17

Re: "Real" soll Nachkommastellen ausgeben!

  Alt 14. Feb 2008, 19:22
Zitat von Avicenna:
..die Hilfe zu benutzen und weiß nun, dass die 8 für die Nachkommastellen steht.
ohne Worte. Wie wärs mit Friseuse/Frisör ?
Gruß
Hansa
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#18

Re: "Real" soll Nachkommastellen ausgeben!

  Alt 14. Feb 2008, 19:32
Hmmmm,
habe den Thread mit wachsender Belustigung durchgelesen, trotzdem: Das mit der Friseuse finde ich etwas übertrieben
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#19

Re: "Real" soll Nachkommastellen ausgeben!

  Alt 14. Feb 2008, 19:33
[OT] Heißt das nicht auf Neudeutsch "Frisörin"? [/OT]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#20

Re: "Real" soll Nachkommastellen ausgeben!

  Alt 14. Feb 2008, 19:40
Man kann auch "Frisörin" schreiben, aber das Ergebnis bleibt gleich.
Gruß
Hansa
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


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 07:30 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