ABOUT Visual Basic Programmieren Programmierung Download Downloads Tips & Tricks Tipps & Tricks Know-How Praxis VB VBA Visual Basic for Applications VBS VBScript Scripting Windows ActiveX COM OLE API ComputerPC Microsoft Office Microsoft Office 97 Office 2000 Access Word Winword Excel Outlook Addins ASP Active Server Pages COMAddIns ActiveX-Controls OCX UserControl UserDocument Komponenten DLL EXE
Diese Seite wurde zuletzt aktualisiert am 09.01.2000

Diese Seite wurde zuletzt aktualisiert am 09.01.2000
Aktuell im ABOUT Visual Basic-MagazinGrundlagenwissen und TechnologienKnow How, Tipps und Tricks rund um Visual BasicActiveX-Komponenten, Controls, Klassen und mehr...AddIns für die Visual Basic-IDE und die VBA-IDEVBA-Programmierung in MS-Office und anderen AnwendungenScripting-Praxis für den Windows Scripting Host und das Scripting-ControlTools, Komponenten und Dienstleistungen des MarktesRessourcen für Programmierer (Bücher, Job-Börse)Dies&Das...

Themen und Stichwörter im ABOUT Visual Basic-Magazin
Code, Beispiele, Komponenten, Tools im Überblick, Shareware, Freeware
Ihre Service-Seite, Termine, Job-Börse
Melden Sie sich an, um in den vollen Genuss des ABOUT Visual Basic-Magazins zu kommen!
Informationen zum ABOUT Visual Basic-Magazin, Kontakt und Impressum

Zurück...

Zurück...


Anzeige

Dr. Thomas Meinike mailto:th.meinike@gmx.de/(-hg) mailto:hg_round@aboutvb.de

Seit der Visual Basic-Version 6 gibt es die Funktion MSDN Library - VB RoundRound, die eine Fließkommazahl auf eine bestimmte Anzahl von Nachkommastellen rundet.

Debug.Print Round(Zahl, Nachkommastellen)

Diese Funktion rundet jedoch streng nach mathematischen Regeln. Dabei werden Fließkommazahlen, deren Nachkommastellen mit einer 5 enden, so gerundet, dass die letzte beibehaltene Ziffer geradzahlig wird.

Beispiele mathematischer Rundung:

0.325 --> 0.32

aber:

0.375 --> 0.38

und deshalb auch:

3.5 -->4

und

4.5 --> 4

Im Kaufmännischen wird dagegen nach der Regel gerundet, dass Fließkommazahlen, deren Nachkommastellen mit einer 5 enden, auf die nächsthöhere Ziffer aufgerundet werden.

Die gleichen Beispiele wie oben in kaufmännischer Rundung:

0.325 --> 0.33
0.375 --> 0.38
3.5 -->4
4.5 --> 5

Diese kaufmännische Rundungsweise hat sich zunehmend auch in Wissenschaft und Technik durchgesetzt. So erscheint es ein wenig unverständlich, dass die gerade neu eingeführte Visual Basic-Funktion nach der weitaus ungebräuchlicheren Regel rundet, ohne dass dies ausdrücklich in der MSDN Library - VB RoundDokumentation/Referenz zu Round erwähnt würde.

Zum kaufmännischen Runden verwenden Sie statt dessen die folgende Funktion - sie trägt den gleichen Namen und ist damit code-kompatibel - d.h., Sie brauchen Ihre Aufrufe von Round nicht zu ändern, wenn Sie generell kaufmännisch runden wollen.

Public Function Round(ByVal Number As Double, _
 ByVal Digits As Integer) As Double
  Round = Int(Number * 10 ^ Digits + 0.5) / 10 ^ Digits
End Function

Mit dieser Ersatz-Funktion für das VB(A)-Original runden Sie Fließkommazahlen in der gebräuchlichen kaufmännischen Weise auf eine bestimmte Anzahl Nachkommastellen

Möchten Sie jedoch ausdrücklich die VB(A)-eigene Funktion mit mathematischer Rundung verwenden, rufen Sie dieses "Original" einfach mit dem Zusatz "VBA." auf:

Ergebnis = VBA.Round(0.123456)

Korrekturen und Ergänzungen

15.11.1999

Ergänzung: Unterscheidung zwischen mathematischem und kaufmännischem Runden

Unterscheidung zwischen mathematischem und kaufmännischem Runden


Modul modRound (modRound.bas - ca. 0,2 KB)






Themen - Allgemeines
Themen - Entwicklungsumgebung (VB-IDE)
Themen - Forms
Themen - Steuerelemente (Controls)
Themen - Grafik
Themen - Dateien
Themen - UserControls
Themen - Einsteiger-Tipps
Themen - Wussten Sie...?

Übersicht nach Titeln in alphabetischer Reihenfolge
Übersicht nach Erscheinungsdatum

Schnellsuche



Zum Seitenanfang

Copyright © 1999 - 2017 Harald M. Genauck, ip-pro gmbh  /  Impressum

Zum Seitenanfang

Zurück...

Zurück...

Download Internet Explorer