Forum: Object-Pascal / Delphi-Language
Delphi
by juergen,
25. Mai 2008
Hallo grenzgaenger,
naja, die Aufgabenstellung war in diesem Fall eindeutig:
- alles bezieht sich nur auf Tage. Ergebisse immer in ganze Tage oder halbe Tage (je nach Firma).
Mein Problem war ja, die Personalsachbearbeiterin rechnet mit dem Taschenrechner nach und erhält ein
ganz einfaches Ergebnis -> z.B. 12,25. Das soll dann auf 12,5 gerundet werden.
Da wurde in meinem Fall durch die...
Forum: Object-Pascal / Delphi-Language
Delphi
by juergen,
25. Mai 2008
@ bit4bit,
8)
Für deine Beispiele hast du Recht.
Da mein "Urlaubsrechner" aber nicht nur für Angestellte/ Beamte gelten soll, sondern vorwiegend im industriellen Bereich, musste ich alle möglichen Varianten abdecken...
Zur Veranschaulichung habe ich das Programm mal angehängt.
Ps.:
Angewandtes Tarifrecht...
Es ist erstaunlich wieviel Spielraum/ Interpretation Gesetzestext in der...
Forum: Object-Pascal / Delphi-Language
Delphi
by juergen,
25. Mai 2008
Hallo zusammen,
im Moment verwende ich nachfolgendes, weil am genauesten:
JasonDX's Vorschlag:
round((StrToFloat(s) * 2 + 0.00000000000001)) / 2) Edit1.Text:= '12,4999999999999999999' -> 12,5 -> erst ab der 19.Stelle falsch
Marc seine Funktion:
myround(StrToFloat(Edit1.Text)) Edit1.Text:= '12,2499999999999999' -> 12,5 -> ab der 16.Stelle falsch
...
Forum: Object-Pascal / Delphi-Language
Delphi
by juergen,
20. Mai 2008
@grenzgaenger,
du hast Recht, das richtige kaufmännische Runden ist es natürlich nicht.
Ich möchte im Prinzip in 0,25er Schritten kaufmänisch runden, anstelle in 0,5er Schritten.
Mein Anwendungsfall:
Ermittlung von Urlaubsanspruch beim Arbeitsbeginn im lfd.Jahr. :wink:
Es gibt u.a. die Regelung, dass der Urlaubsanspruch kaufmännisch auf halbe Tage gerundet wird.
Wenn dann z.B. ein neuer...
Forum: Object-Pascal / Delphi-Language
Delphi
by juergen,
20. Mai 2008
@Hansa,
ja, so soll/ muss es sein sein :wink:
@JasonDX,
Round hatte ich hier bei meiner kaufmännischen Rundung auf Grund des Verhaltens (Bankers Rounding) gar nicht in Betracht gezogen.
Dein Vorschlag funktioniert schon fast perfekt, vielen Dank! :thumb:
Allerdings wird z.B. bei 12,25 auf 12 abgerundet, ich benötige allerdings genau ab 12,25 das Ergebnis -> 12,5, also eine Aufrundung....
Forum: Object-Pascal / Delphi-Language
Delphi
by juergen,
20. Mai 2008
Hallo zusammen,
ich versuche nun schon seit einiger Zeit ein bestimmtes Rundungsergebnis zu erreichen.
Habe auch schon vieles hier gelesen und auch ausprobiert, aber ich konnte mein Problem damit leider noch nicht selbstständig lösen. :oops:
Generell benötige ich eine Rundung, wo als Ergebnis immer nur eine Null oder eine 5 hinter dem Komma stehen soll; abhängig von dem Ergebnis der...