Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi pronzentberechungsproblem (https://www.delphipraxis.net/133919-pronzentberechungsproblem.html)

mlhk 12. Mai 2009 07:47


pronzentberechungsproblem
 
hey,
ich hab ein wahrscheinlich sehr einfach zu lösendes problem
Delphi-Quellcode:
memo4.Lines[1]:= inttostr ((zeichen div 100)*b)+'%';
und zwar besteht meine frage darin warum er mir bei einer gering anzahl von zeichen immer 0% prozent ausgibt, es müsste doch immer funktionieren
mfg
max

DeddyH 12. Mai 2009 07:50

Re: pronzentberechungsproblem
 
Bei ganzzahliger Division mit div ergibt jede Zahl < 100 div 100 0. Ändere das mal so ab:
Delphi-Quellcode:
memo4.Lines[1]:= inttostr (round(zeichen / 100 * b))+'%';

Dust Signs 12. Mai 2009 07:50

Re: pronzentberechungsproblem
 
Oder du multiplizierst vorher mit b und rechnest dann div 100 - das spart dir das Runden

Dust Signs

DeddyH 12. Mai 2009 07:56

Re: pronzentberechungsproblem
 
Oder so :)

mlhk 12. Mai 2009 08:10

Re: pronzentberechungsproblem
 
also ich hab das mal ausprobiert
Delphi-Quellcode:
memo4.Lines[1]:= inttostr (round(zeichen / 100 * b))+'%';
funktioniert aber z.b. mit nur 10 zeichen auch nicht und was sehr komisch ist bei z.b. 415 zeichen gehen die prozente über 400% hinaus, sie sollen aber immer nur bis 100 % gehen, also insgesamt, immer (bei den 10zeichen)

Klaus01 12. Mai 2009 08:26

Re: pronzentberechungsproblem
 
Guten Morgen,

was möchtest Du denn berechnen?
Wie groß kann "zeichen" werden, 415 Stellen?
Wie groß ist "b"?

Grüße
Klaus

mlhk 12. Mai 2009 08:29

Re: pronzentberechungsproblem
 
also zeichen kan erstaml unbegrentzt groß werden und b ist gleich der anzahl wie oft der buchstabe b in dieses zeichen vorkommt

Klaus01 12. Mai 2009 08:33

Re: pronzentberechungsproblem
 
.. aber "zeichen" ist schon eine Zahl?

Und sollte es dann nicht eher

Delphi-Quellcode:
memo4.Lines[1]:= inttostr (round((b/zeichen) *100))+'%';
heißen?

Grüße
Klaus

mlhk 12. Mai 2009 08:36

Re: pronzentberechungsproblem
 
ah danke, so geht das perfekt

thkerkmann 12. Mai 2009 08:41

Re: pronzentberechungsproblem
 
Hi,

Zahlendreher:

Prozent = 100 * Zähler / Maximum


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:32 Uhr.
Seite 1 von 3  1 23      

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