Rubrik: Sonstiges | 22.03.05 |
MulDiv-Funktion Diese Funktion dividiert das 64-Bit-Ergebnis einer Multiplikation mit einer angegeben Zahl. | ||
Betriebssystem: Win95, Win98, WinNT 3.1, Win2000, WinME | Views: 9.718 |
Deklaration:
Declare Function MulDiv Lib "kernel32.dll" ( _ ByVal nNumber As Long, _ ByVal nNumerator As Long, _ ByVal nDenominator As Long) As Long
Beschreibung:
Diese Funktion dividiert das 64-Bit-Ergebnis einer Multiplikation mit einer angegeben Zahl.
Parameter:
nNumber | Erwartet den ersten Wert mit dem eine Multiplikation durchgeführt werden soll. |
nNumerator | Erwartet den zweitenWert mit dem eine Multiplikation durchgeführt werden soll. |
nDenominator | Erwartet den Wert mit dem das Ergebnis der Multiplikationdividiert werden soll. |
Rückgabewert:
Ist die Funktion erfolgreich, so wird das gerundete Ergebnis der Rechnung zurückgegeben. Ist das Ergebnis größer als mit einerLong-Variable darstellbar (größer als 32-Bit) oder wurde durch "0" dividiert so wird derWert "-1" für einen Fehler zurückgegeben.
Beispiel:
Private Declare Function MulDiv Lib "kernel32.dll" ( _ ByVal nNumber As Long, _ ByVal nNumerator As Long, _ ByVal nDenominator As Long) As Long
' Übergroße Zahlen berechnen Private Sub Command1_Click() Dim Retval As Long ' würde einen Fehler verursachen ' Debug.Print 66666666 * 666 / 666666 ' So geht es Retval = MulDiv(66666666, 666, 666666) Debug.Print Retval End Sub