Auf 0.5 runden

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Unplugged

Betreff: Auf 0.5 runden

BeitragMi, Jan 18, 2006 20:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab grade ne Blockade!

Ich brauch eine Funktion, die mit aus eine Dezimalzahl auf 0,5 rundet.

Beispiele:
x = 2,458394983948
x = 2,5

x = 191,1232321230
x = 191,0

x = 12,77545345
x = 13,0
User posted image

5k41

BeitragMi, Jan 18, 2006 20:49
Antworten mit Zitat
Benutzer-Profile anzeigen
nimm Int(zahl) !!!
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image

Kryan

BeitragMi, Jan 18, 2006 20:52
Antworten mit Zitat
Benutzer-Profile anzeigen
ja, dann aber so:

wert=Int(zahl)-zahl
If wert<0.5 Then
endziffer#=.5
ElseIf
endziffer#=.0
End If
neuerwert=Floor(wert)+endziffer

hoffe es geht so, oder bringt dich auf den richtigen weg Very Happy
Webspaceanbieter?
Klick hier!
Kultige Spieleschmiede?
Klick hier!

Unplugged

BeitragMi, Jan 18, 2006 20:58
Antworten mit Zitat
Benutzer-Profile anzeigen
ich hab nur ceil und floor gekannt, naja schon wieder was gelernt.

bringt mich auf den richtigen Weg, kann ich fast 1 zu 1 übernehmen, danke.
User posted image

Kryan

BeitragMi, Jan 18, 2006 21:05
Antworten mit Zitat
Benutzer-Profile anzeigen
schreib mal deinen endgültigen code hin, würd mich auch interessieren!
vllt kann man dann ja eine funktion herleiten, in der form:
FUnction Runden(zurundendewert,wert)
...
End Function

wär doch praktisch, oder? Wink
Webspaceanbieter?
Klick hier!
Kultige Spieleschmiede?
Klick hier!
 

Ava

Gast

BeitragMi, Jan 18, 2006 21:07
Antworten mit Zitat
Etwas kompakter:Code: [AUSKLAPPEN]
Floor(zahl * 2 + 0.5) * 0.5
 

Apocalyptic

BeitragMi, Jan 18, 2006 21:07
Antworten mit Zitat
Benutzer-Profile anzeigen
https://www.blitzforum.de/viewtopic.php?t=12848
Suum cuique

[ www.ffs-net.de.vu ] [ Raycaster ]

Xaron

BeitragDo, Jan 19, 2006 9:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Nimm auf jeden Fall nicht Int()! Das rundet bei ungeraden (Vorkomma-)Zahlen auf und bei geraden (Vorkomma-)Zahlen ab.

Beispiel:

Int(1.5) liefert 2
Int(4.5) liefert 4

Gruß - Xaron
Cerberus X - Monkey X Reloaded!

BtbN

BeitragDo, Jan 19, 2006 9:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn man auf Glatte zahlen runden will, ist Int problemlos nutzbar.
Man muss nur vorher 0.5 zu der Zahl addieren, die man runden will, schon läuft das problemlos.

Xaron

BeitragDo, Jan 19, 2006 11:09
Antworten mit Zitat
Benutzer-Profile anzeigen
BORNtobeNAMELESS hat Folgendes geschrieben:
Wenn man auf Glatte zahlen runden will, ist Int problemlos nutzbar.
Man muss nur vorher 0.5 zu der Zahl addieren, die man runden will, schon läuft das problemlos.


Eben nicht.

Nehmen wir mal 1.2
Gerundet müsste das 1 ergeben. Wenn Du jetzt einfach 0.5 addierst und Int benutzt, bekommst Du aber 2. Was Du meinst ist Floor, das rundet immer ab.

Gruß - Xaron
Cerberus X - Monkey X Reloaded!

BtbN

BeitragDo, Jan 19, 2006 12:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Ups, ja klar, hatte deinen Post missverstanden.

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group