Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi 1000er Punkte (https://www.delphipraxis.net/599-1000er-punkte.html)

CalganX 12. Aug 2002 10:36


1000er Punkte
 
Hi!
Hier mal eine Frage in Richtung Mathematik: Wie kann ich es realisieren, dass an jeder 4. Stelle ein Punkt kommt? Also dass zum Beispiel 254878 als 254.878 geschrieben wird!

Chris

MrSpock 12. Aug 2002 10:56

Hallo Chris1308,

speziell für die Ausgabe gibt es da die Funktion Format in der Unit SysUtils. Schau dir dazu mal die Hilfe an, da gibt es auch Beispiele, die dir weiterhelfen.

CalganX 12. Aug 2002 11:04

Beispiele, die weiterhelfen? Sorry, aber könntest du mir das mal bitte auf deutsch erklären?

Chris

MathiasSimmack 12. Aug 2002 11:38

In der Unit math gibt´s auch eine passende Funktion, die heißt
Code:
FloatToStrF
.
Es spricht ja nichts dagegen, dieser Funktionen einen Integerwert zu übergeben. Mit dem Format "ffNumber" kriegst du dann problemlos die Tausenderpunkte.

Zur Funktion Format: in der Delphi-Hilfe findest du unter "FormatStrings" eine Reihe von Auflistungen. So kannst du z.B. regeln, dass ein Zahlenwert grundsätzlich zweistellig angezeigt werden soll. Das "leading-Zero"-Problem, beispielsweise:
Code:
ShowMessage(Format('%.2d <> %0:d',[3]));
Und es gibt eine ganze Reihe anderer Möglichkeiten, so dass du in einem Aufwasch Strings und Zahlenwerte in einen String formatieren kannst.

CalganX 12. Aug 2002 11:43

Das Problem: die Zahl ist variable und dazu noch Float...

Chris

MathiasSimmack 12. Aug 2002 11:45

Tja, s. FloatToStr, FloatToStrF usw.

CalganX 12. Aug 2002 11:56

Code:
FloatToStrF(erg, ffFixed, [color=#000080]18[/color], [color=#000080]18[/color])
Hat nix gebracht...

MathiasSimmack 12. Aug 2002 12:42

Typisches "StringReplace"-Syndrom, vermute ich mal:
Zitat:

Zitat von Irgendein User
Bei mir funktioniert StringReplace nicht. So sieht mein Code aus:
Code:
dummy := 'Hallo';
StringReplace(dummy,'H','h',[rfReplaceAll]);
ShowMessage(dummy);
Wieso geht das nicht?

Antwort:
Zitat:

Zitat von Ein schlauerer User, der die Hilfe richtig gelesen hat,
StringReplace gibt einen String mit ersetzten Sub-Strings zurück.
Code:
[b]function[/b] StringReplace(const S, OldPattern, NewPattern: string; Flags: TReplaceFlags): [color=#ff0000][b]string[/b][/color];

Nicht anders ist es bei FloatToStrF:
Code:
ShowMessage(FloatToStrF(123456789,ffNumber,18,18));
geht problemlos.

MrSpock 12. Aug 2002 13:04

Zitat aus der Hilfe zu Format-Strings:

Zitat:

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.
Das heißt z.B.:

Code:
ShowMessage(Format('%n', [1234567.89123]));
Eventuell ist auch %m für dich sinnvoll (Currency). Schau dir bitte dazu mal die Hilfe zu Format-Strings an.

MathiasSimmack 12. Aug 2002 13:15

Lösungen über Lösungen ...
Zitat:

Zitat von Chris1308
Hat nix gebracht...

zählt hier also nicht als Ausrede! :wink:


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:25 Uhr.
Seite 1 von 2  1 2      

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