AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Prozentrechnen

Ein Thema von o0o · begonnen am 13. Dez 2007 · letzter Beitrag vom 13. Dez 2007
Antwort Antwort
Benutzerbild von o0o
o0o

Registriert seit: 20. Jul 2007
Ort: am...,da wo die sonne nicht scheint!
166 Beiträge
 
Delphi 2007 Enterprise
 
#1

Prozentrechnen

  Alt 13. Dez 2007, 13:21
hi leutz,...ich hab diesmal ein problem mit der prozentrechnung^^

haltet mich nich fuer bloed ich hab in mathe aufgepasst
Delphi-Quellcode:
var
netto,brutto,prozent:Integer;
begin
  netto:=(strtoint(edit1.text));
  prozent:=(strtoint(edit2.text));
  brutto := (netto div 100) * prozent;
  edit3.Text:=(inttostr(brutto));
  edit4.Text:=(inttostr(netto+brutto));
also alles funkt perfekt...solange der netto betrag nicht unter 100 ist.
wenn unter 100 bekomme ich ein falsches ergebniss._.

ich bin mir nich sicher aber kann das an integer liegen?
naja bin ueber alle info's dankbar

da o0o
(_/marabu-fan inside\_)
[-\_______________/-]
  Mit Zitat antworten Zitat
The Lord

Registriert seit: 19. Sep 2005
Ort: Dortmund
125 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Prozentrechnen

  Alt 13. Dez 2007, 13:30
Benutze doch mal 'real' und '/' anstelle von 'div'.
Alexander
Dunkel die andere Seite ist...
Klappe Yoda und iss deinen Toast!
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Prozentrechnen

  Alt 13. Dez 2007, 13:31
1. Du solltest mal von Integer auf Double wechseln, und statt "div" "/" verwenden.
2. "netto div 100" ergibt 0, wenn netto <100 ist; und auch sonst sind deine Ergebnisse sehr gerundet und eigentlich falsch (siehe Punkt 1)
3. Ist nicht Netto weniger als Brutto (also Netto=Brutto/100*Prozent ==> Brutto=Netto*100/Prozent)
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Benutzerbild von o0o
o0o

Registriert seit: 20. Jul 2007
Ort: am...,da wo die sonne nicht scheint!
166 Beiträge
 
Delphi 2007 Enterprise
 
#4

Re: Prozentrechnen

  Alt 13. Dez 2007, 13:43
Zitat:
3. Ist nicht Netto weniger als Brutto (also Netto=Brutto/100*Prozent ==> Brutto=Netto*100/Prozent)
0_o was is daran falsch?*grad verwirrt is...*
brutto := (netto div 100) * prozent; (ich rede grad vom vorgang zum errechnen^^)

btw thx das mit real und double werd ich mal probieren^^

o0o
(_/marabu-fan inside\_)
[-\_______________/-]
  Mit Zitat antworten Zitat
Benutzerbild von PaddyL
PaddyL

Registriert seit: 23. Nov 2007
Ort: Lautertal
34 Beiträge
 
#5

Re: Prozentrechnen

  Alt 13. Dez 2007, 13:46
Zitat von o0o:
brutto := (netto div 100) * prozent;
Delphi rechnet zuerst die Klammer. Und nimmt das Integer Ergebnis (bereits gerundet) mal den Prozentsatz.
Probiere mal
brutto := Round((netto / 100) * prozent); Hier rundet Delphi erst am Ende. Sollte so gehen.
Patrick
  Mit Zitat antworten Zitat
Benutzerbild von FAlter
FAlter

Registriert seit: 21. Jul 2004
Ort: Ostfildern
1.096 Beiträge
 
FreePascal / Lazarus
 
#6

Re: Prozentrechnen

  Alt 13. Dez 2007, 14:35
Hi,

in diesen Fall wären Gleitkommazahlen wohl eher angebracht. Aber ganz allgemein - wenn ich mit Integern rechne, steht bei mir das div möglichst weit hinten, z. B.

Delphi-Quellcode:
//Nicht so:
brutto := (netto div 100) * prozent;

//sondern so:
brutto := (netto * prozent) div 100;
Wenn man das Ergebnis eh runden will, also mit Integers rechnen, hat man so kaum einen großen Unterschied. Würde man bei PaddyLs Code noch das Round durch Trunc ersetzen, wäre das Ergebnis identisch, und es muss kein Umweg über Floats gemacht werden.

Mfg
FAlter
Felix Alter
  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 14:43 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