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 Zitieren
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. Zitieren
dBaj Geschrieben 3. Februar 2004 Geschrieben 3. Februar 2004 Versuch es mal mit der Round-Funktion. Zitieren
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. Zitieren
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" ??? Zitieren
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... Zitieren
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. Zitieren
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? Zitieren
Peregrin Geschrieben 3. Februar 2004 Geschrieben 3. Februar 2004 okay, ich habs gesehen. Int() nicht CInt(). tja, wer lesen kann ist klar im vorteil... Zitieren
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! Zitieren
dBaj Geschrieben 4. Februar 2004 Geschrieben 4. Februar 2004 Original geschrieben von developer Tut mir leid. Mein Fehler. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.