Patrick.Karre Geschrieben 3. Februar 2004 Geschrieben 3. Februar 2004 Hallo, ich führe mit VB eine Rechnung durch, in der ich eine Zahl mit nachkommastellen bekonmmen kann. Diese Zahl soll generell ohne nachkomastelle abgerundet werden. Beispiel 22,3 soll gleich 22 sein. Die Funktion Round und Fix haben mir da nicht wirklich weiter geholfen. Hat jemand von euch eine gute Idee ? Gruß Patrick
computercrustie Geschrieben 3. Februar 2004 Geschrieben 3. Februar 2004 Eine entsprechende Funktion habe ich nicht parat, aber mit einer Umwandlung zu Int müsste es gehen.
developer Geschrieben 3. Februar 2004 Geschrieben 3. Februar 2004 Original geschrieben von Patrick.Karre Die Funktion Round und Fix haben mir da nicht wirklich weiter geholfen Original geschrieben von dBaj Versuch es mal mit der Round-Funktion.
Darkjedi Geschrieben 3. Februar 2004 Geschrieben 3. Februar 2004 Hallo, folgendes Problem: Ich teile Werte(nur ganze Zahlen) durch 2. Die Werte, die auf ",0" enden sollen so bleiben, die Werte, die auf ",5 " enden sollen aufgerundet werden. Round() rundet bei 0,5 jedoch noch ab. Gibt es eine Art Modulo bei VB? So dass ich eventuell eine Bedingung einbauen könnte à la "wenn Rest = 5 dann Ergebnis plus 1" ???
Peregrin Geschrieben 3. Februar 2004 Geschrieben 3. Februar 2004 hi, folgendesPrivate Function floor(ByVal dbl As Double) As Double Dim s As String s = CStr(dbl) If (InStr(1, s, ",") > 0) Then s = Left(s, InStr(1, s, ",") - 1) End If floor = CDbl(s) End Functionsollte gehen. gebe aber keine garantie... cast in einen integer sollte bei 22,8 auch 23 liefern, wenn mich nicht alles täuscht hth...
Nobody Geschrieben 3. Februar 2004 Geschrieben 3. Februar 2004 Ja gibt es. Int = double Mod 2. ist dann entweder 0 oder eins. Hier ein Artikel darüber wie welche Microsoft-Anwendung rundet. http://support.microsoft.com/default.aspx?scid=kb;EN-US;196652 @Peregrim : nein Int(22.6) ist 22.
Peregrin Geschrieben 3. Februar 2004 Geschrieben 3. Februar 2004 Original geschrieben von Nobody [...]@Peregrim : nein Int(22.6) ist 22. @Nobody: hmm, habe es gerade ausprobiert, Debug.Print CInt(22.6) ergibt bei mir 23. umgebung: vb6.0 sp4 os: w2k ist das mit vb.net anders?
Peregrin Geschrieben 3. Februar 2004 Geschrieben 3. Februar 2004 okay, ich habs gesehen. Int() nicht CInt(). tja, wer lesen kann ist klar im vorteil...
JayN Geschrieben 4. Februar 2004 Geschrieben 4. Februar 2004 Hallo, einfach nach der Berechnung das hier einfügen (x = Ergebnisvariable): x = x \ 1 WICHTIG! Backslash und nicht Slash! Gruß JayN P.S. Hoffe, dass es hilft EDIT: Ups, nee klappt doch nicht!
dBaj Geschrieben 4. Februar 2004 Geschrieben 4. Februar 2004 Original geschrieben von developer Tut mir leid. Mein Fehler.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden