Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Darstellung der Zahlen verbessern (https://www.delphipraxis.net/191351-darstellung-der-zahlen-verbessern.html)

krac 5. Jan 2017 14:58

Darstellung der Zahlen verbessern
 
Hallo

Frage: Wie stelle ich es an, dass wenn ich eine Zahl eingebe z.B 1000, diese dann so angezeigt wird 1.000 und wenn es eine höhere zahl 10000 dann so angezeigt wird 10.000?

Jumpy 5. Jan 2017 15:11

AW: Darstellung der Zahlen verbessern
 
Die Frage ist worin die Zahle dargestellt wird. Konsole-Programm. Edit-Feld. ...?

krac 5. Jan 2017 15:20

AW: Darstellung der Zahlen verbessern
 
ich denke ich werde das in einem edit feld zunächst darstellen

heißt der user tippt dort seine zahl ein und geht auf ein anderes feld

nachdem der user aus dem edit feld raus gegangen ist, soll im edit feld diese umstellung angezeigt werden.

DeddyH 5. Jan 2017 15:34

AW: Darstellung der Zahlen verbessern
 
Ich mache das immer mit Format.
Delphi-Quellcode:
Edit.Text := Format('%.0n', [Zahl + 0.00]);

stahli 5. Jan 2017 15:44

AW: Darstellung der Zahlen verbessern
 
Zitat:

Zitat von DeddyH (Beitrag 1358180)
Ich mache das immer mit Format.
Delphi-Quellcode:
Edit.Text := Format('%.0n', [Zahl + 0.00]);

... und "Zahl" kann man etwa so zuweisen:
Delphi-Quellcode:
Zahl := StrToInt(StringReplace(Edit.Text, '.','', [rfReplaceAll]));
So kann man evtl. bereits vorhandene Punkte zuvor aus dem Text eleminieren.


Insgesamt ist das etwas umständlich und das Rechnen mit Texten in Edits ist nicht unbedingt der sauberste Weg, aber so kann es zumindest erst mal funktionieren.

a.def 5. Jan 2017 15:55

AW: Darstellung der Zahlen verbessern
 
Edit:
sehe erst jetzt, dass von einem Edit und einer Eingabe die Rede ist und nicht um das generelle Umformatieren von Zahlen.

---


Ich benutze immer und überall dieses hier. Es werden Systemeinstellungen respektiert.

Delphi-Quellcode:
function formatNumber(iNumber: Int64): string;
var
 sTmp: string;
begin
 try
  sTmp := FloatToStrF(iNumber, ffNumber, 8, 0);
 except
  sTmp := SysUtils.IntToStr(iNumber);
 end;

 if Copy(sTmp, Length(sTmp) - 2, 3) = ',00' then // <= das hier kann eigentlich weg. Ist obsolet, da die Nachkommastellen 0 sind.
  sTmp := Copy(sTmp, 1, Length(sTmp) - 3);

 Result := sTmp;
end;

// 1000   =>  1.000
// 10000  => 10.000
// 100000 => 100.000
// usw.
Die Nachkommastellen habe ich auf 0 gestellt, da die sonst gerne auf US und UK Systemen angezeigt werden. Statt 1,000,000 steht dann dort 1,000,000.00

nahpets 5. Jan 2017 16:11

AW: Darstellung der Zahlen verbessern
 
Statt TEdit einfach TMaskEdit benutzen, dort kann man eine Eingabemaske hinterlegen.

DeddyH 5. Jan 2017 16:49

AW: Darstellung der Zahlen verbessern
 
Zitat:

Zitat von stahli (Beitrag 1358182)
Zitat:

Zitat von DeddyH (Beitrag 1358180)
Ich mache das immer mit Format.
Delphi-Quellcode:
Edit.Text := Format('%.0n', [Zahl + 0.00]);

... und "Zahl" kann man etwa so zuweisen:
Delphi-Quellcode:
Zahl := StrToInt(StringReplace(Edit.Text, '.','', [rfReplaceAll]));
So kann man evtl. bereits vorhandene Punkte zuvor aus dem Text eleminieren.

Dazu würde der Formatstring aber nicht passen, mit Zahl war tatsächlich eine Zahl gemeint ;)

p80286 5. Jan 2017 17:08

AW: Darstellung der Zahlen verbessern
 
Ich kenn es so:
Delphi-Quellcode:
.Caption:=FormatFloat(' ,0',integerzahl)
Gruß
K-H

krac 6. Jan 2017 14:01

AW: Darstellung der Zahlen verbessern
 
danke für die zahlreichen vorschläge

werde es die tage machen, sobald mein laptop wieder läuft :stupid:


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:23 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