Seite 1 von 2
Auf-Ab-Runden
Verfasst: 02.08.2006 15:22
von Thomas
Wie kann ich eine Zahl x (in meinem Fall eine Variable x) auf- bzw. abrunden?
Wenn
x hinter dem Komma (punkt) größergleich .5 ist soll aufgerundet werden.
Wenn
x hinter dem Komma kleiner als .5 ist soll abgerundet werden.
Habs schon mit dem Befehl
Round versucht, bei mir kommt aber ein falscher Wert raus.
Danke schon im Voraus für eure Antworten!!!!!!!!!!

Verfasst: 02.08.2006 15:27
von Kaeru Gaman
Verfasst: 03.08.2006 10:20
von HoDam
da dürfen es dann auch negative Zahlen sein
zweites Argument
0 immer abrunden
1 immer aufrunden
Verfasst: 04.08.2006 20:22
von Thomas
Hallo
Kaeru Gaman hat geschrieben:
Und ich habs ausprobiert:
Es geht nur ohne dem "x + 0.5" also:
Wieso???
Verfasst: 05.08.2006 01:01
von HoDam
muss natürlich Dezimalzeichen Punkt sein
Zahl1.f = 12.6
Debug Round((Zahl1.f+0.5),0)
Zahl1.f= -Zahl1
Debug Round((Zahl1+0.5),0)
Verfasst: 05.08.2006 09:13
von Kaeru Gaman
Thomas Obermeier hat geschrieben:Hallo
Kaeru Gaman hat geschrieben:
Und ich habs ausprobiert:
Es geht nur ohne dem "x + 0.5" also:
Wieso???
unsinn.
bekommst du beim ersten ne fehlermeldung?
das würde ich zumindest unter "geht nicht" verstehen.
also was genau funktioniert nicht?
Int(x) schneidet die nachkommastellen ab.
also wird auch aus 3.7 eine 3.0
du musst die 0.5 addieren, damit zahlen über x.5 zu x+1 werden.
Verfasst: 05.08.2006 20:19
von Thomas
Tschuldigung, jetzt hab ich mich selbst verschrieben.
Ich meinte natürlich
.
Dann wird z.B. aus "3.49" eine 3.
Oder aus "3.50" und größer ne 4.
Und ne Fehlermeldung kommt gar nicht.
Hab die 3.3 Version
Verfasst: 05.08.2006 20:46
von Kaeru Gaman
> Hab die 3.3 Version
würdest du dass dann
BITTE endlich mal in deine signatur schreiben?
ich hab schon ein gutes gedächtnis, und nicht mal ich habs mir gemerkt.
Thomas Obermeier hat geschrieben:.
Dann wird z.B. aus "3.49" eine 3.
Oder aus "3.50" und größer ne 4.
ach du kagge.. rundet beim 3.3 das Int() automatisch auf?
also, normalerweise schneidet Int() die nachkommastellen ab.
aus 3.999999999999 sollte 3 werden.
dementsprechen muss man 0.5 addieren, damit ab 3.5 ne 4 draus wird.
Verfasst: 05.08.2006 20:58
von #NULL
nein KG, du hast schon recht.
Int() ist wie ne art Floor() oder gaußklammer (Int->Integer->Ganzzahlanteil), ich weiß aber nicht wie's in PB 3.3 ist.
wie wärs denn mit
Round( PB 3.3 , 1 )

Verfasst: 07.08.2006 13:34
von Thomas
An Kaeru Gaman:
Passt das jetzt so:
Hab mir jetzt ne Signatur geschrieben.