Ereignisse
17. März, 23 Uhr - 21. März, 23 Uhr
Nehmen Sie an der Meetup-Serie teil, um skalierbare KI-Lösungen basierend auf realen Anwendungsfällen mit Mitentwicklern und Experten zu erstellen.
Jetzt registrierenDieser Browser wird nicht mehr unterstützt.
Führen Sie ein Upgrade auf Microsoft Edge aus, um die neuesten Funktionen, Sicherheitsupdates und technischen Support zu nutzen.
Dividiert zwei Zahlen und gibt nur den Rest zurück.
result = number1 Mod number2
result
Erforderlich. Eine beliebige numerische Variable oder Eigenschaft.
number1
Erforderlich. Ein beliebiger numerischer Ausdruck.
number2
Erforderlich. Ein beliebiger numerischer Ausdruck.
allen numerischen Typen Dies schließt Typen ohne Vorzeichen, Gleitkommatypen und Decimal
ein.
Das Ergebnis ist der Rest der Division von number1
durch number2
. Der Ausdruck 14 Mod 4
ergibt beispielsweise 2.
Hinweis
In der Mathematik gibt es einen Unterschied zwischen Rest und Betrag, der bei negativen Zahlen zu unterschiedlichen Ergebnissen führt. Der Mod
-Operator in Visual Basic, der .NET Framework-Operator op_Modulus
und die zugrunde liegende rem-Zwischenspracheanweisung führen jeweils eine Restoperation aus.
Beim Ergebnis einer Mod
-Operation bleibt das Vorzeichen des Dividenden (number1
) erhalten. Daher kann es positiv oder negativ sein. Das Ergebnis liegt immer im Bereich (-number2
, number2
) (ausschließlich). Beispiel:
Public Module Example
Public Sub Main()
Console.WriteLine($" 8 Mod 3 = {8 Mod 3}")
Console.WriteLine($"-8 Mod 3 = {-8 Mod 3}")
Console.WriteLine($" 8 Mod -3 = {8 Mod -3}")
Console.WriteLine($"-8 Mod -3 = {-8 Mod -3}")
End Sub
End Module
' The example displays the following output:
' 8 Mod 3 = 2
' -8 Mod 3 = -2
' 8 Mod -3 = 2
' -8 Mod -3 = -2
Wenn entweder number1
oder number2
ein Gleitkommawert ist, wird der Gleitkommarest der Division zurückgegeben. Der Datentyp des Ergebnisses ist der kleinste Datentyp, der alle möglichen Werte enthalten kann, die sich aus der Division mit den Datentypen von number1
und number2
ergeben.
Wenn number1
oder number2
als Nothing auswertet wird, wird der Wert als null behandelt.
Verwandte Operatoren:
Der \-Operator (Visual Basic) gibt den ganzzahligen Quotienten einer Division zurück. Der Ausdruck 14 \ 4
ergibt beispielsweise 3.
Der /-Operator (Visual Basic) gibt den vollständigen Quotienten (einschließlich des Rests) als Gleitkommazahl zurück. Der Ausdruck 14 / 4
ergibt beispielsweise 3,5.
Wenn die Auswertung von number2
einen Nullwert ergibt, hängt das Verhalten des Mod
-Operators vom Datentyp der Operanden ab:
number2
zur Kompilierzeit nicht bestimmt werden kann, und es wird ein Kompilierzeitfehler vom Typ BC30542 Division by zero occurred while evaluating this expression
generiert, wenn number2
zur Kompilierzeit null ergibt.Der Ausdruck a Mod b
entspricht einer der folgenden Formeln:
a - (b * (a \ b))
a - (b * Fix(a / b))
Wenn Sie mit Gleitkommazahlen arbeiten, denken Sie daran, dass im Arbeitsspeicher nicht immer eine genaue Dezimaldarstellung vorhanden ist. Dies kann zu unerwarteten Ergebnissen bei bestimmten Vorgängen wie dem Wertvergleich und dem Mod
-Operator führen. Weitere Informationen finden Sie unter Problembehandlung bei Datentypen (Visual Basic).
Der Mod
-Operator kann überladen werden. Das bedeutet, dass eine Klasse oder Struktur ihr Verhalten neu definieren kann. Wenn Ihr Code Mod
auf eine Instanz einer Klasse oder Struktur anwendet, die eine solche Überladung enthält, ist es wichtig, mit dem neu definierten Verhalten vertraut zu sein. Weitere Informationen finden Sie unter Operator Procedures.
Im folgenden Beispiel wird der Mod
-Operator verwendet, um zwei Zahlen zu dividieren und nur den Rest zurückzugeben. Wenn eine Zahl eine Gleitkommazahl ist, ist das Ergebnis eine Gleitkommazahl, die den Rest darstellt.
Debug.WriteLine(10 Mod 5)
' Output: 0
Debug.WriteLine(10 Mod 3)
' Output: 1
Debug.WriteLine(-10 Mod 3)
' Output: -1
Debug.WriteLine(12 Mod 4.3)
' Output: 3.4
Debug.WriteLine(12.6 Mod 5)
' Output: 2.6
Debug.WriteLine(47.9 Mod 9.35)
' Output: 1.15
Im folgenden Beispiel wird die potenzielle Ungenauigkeit von Gleitkommaoperanden veranschaulicht. In der ersten Anweisung werden Operanden vom Typ Double
verwendet, und „0.2“ ist ein sich unendlich wiederholender binärer Bruch mit einem gespeicherten Wert von 0,20000000000000001. In der zweiten Anweisung wird durch das Literal-Typzeichen D
für beide Operanden Decimal
erzwungen, um 0.2 exakt darzustellen.
firstResult = 2.0 Mod 0.2
' Double operation returns 0.2, not 0.
secondResult = 2D Mod 0.2D
' Decimal operation returns 0.
Feedback zu .NET
.NET ist ein Open Source-Projekt. Wählen Sie einen Link aus, um Feedback zu geben:
Ereignisse
17. März, 23 Uhr - 21. März, 23 Uhr
Nehmen Sie an der Meetup-Serie teil, um skalierbare KI-Lösungen basierend auf realen Anwendungsfällen mit Mitentwicklern und Experten zu erstellen.
Jetzt registrieren