Veröffentlicht 3. Februar 200421 j 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
3. Februar 200421 j Eine entsprechende Funktion habe ich nicht parat, aber mit einer Umwandlung zu Int müsste es gehen.
3. Februar 200421 j 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.
3. Februar 200421 j 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" ???
3. Februar 200421 j 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...
3. Februar 200421 j 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.
3. Februar 200421 j 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?
3. Februar 200421 j okay, ich habs gesehen. Int() nicht CInt(). tja, wer lesen kann ist klar im vorteil...
4. Februar 200421 j 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!
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.