Patrick.Karre Geschrieben 3. Februar 2004 Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
computercrustie Geschrieben 3. Februar 2004 Teilen Geschrieben 3. Februar 2004 Eine entsprechende Funktion habe ich nicht parat, aber mit einer Umwandlung zu Int müsste es gehen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dBaj Geschrieben 3. Februar 2004 Teilen Geschrieben 3. Februar 2004 Versuch es mal mit der Round-Funktion. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
developer Geschrieben 3. Februar 2004 Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Darkjedi Geschrieben 3. Februar 2004 Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Peregrin Geschrieben 3. Februar 2004 Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Nobody Geschrieben 3. Februar 2004 Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Peregrin Geschrieben 3. Februar 2004 Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Peregrin Geschrieben 3. Februar 2004 Teilen Geschrieben 3. Februar 2004 okay, ich habs gesehen. Int() nicht CInt(). tja, wer lesen kann ist klar im vorteil... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
JayN Geschrieben 4. Februar 2004 Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dBaj Geschrieben 4. Februar 2004 Teilen Geschrieben 4. Februar 2004 Original geschrieben von developer Tut mir leid. Mein Fehler. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
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.