Sdílet prostřednictvím


Mod – operátor (Visual Basic)

Rozdělí dvě čísla a vrátí pouze zbytek.

number1 Mod number2

Části

  • number1
    Povinné.Libovolný číselný výraz.

  • number2
    Povinné.Libovolný číselný výraz.

Podporované typy

Všechny číselné typy.Jedná se o typy nepodepsané a s plovoucí desetinnou čárkou a Decimal.

Výsledek

Výsledkem je zbytek po number1 se dělí podle number2.Například výraz 14 Mod 4 je vyhodnocen jako 2.

Poznámky

Pokud number1 nebo number2 je hodnotu s plovoucí desetinnou čárkou s plovoucí desetinnou čárkou zbytek po dělení je vrácena.Datový typ výsledku je nejmenší datový typ, který může pojmout všechny možné hodnoty, které jsou výsledkem dělení s typy dat number1 a number2.

Pokud number1 nebo number2 je vyhodnocen jako nic, je považován za nula.

Související operátory jsou následující:

Byl proveden pokus o dělení nulou

Pokud number2 vyhodnocen jako nula, chování Mod operátor závisí na datovém typu operandu.Vyvolá nedílnou divize DivideByZeroException výjimku.Dělení s pohyblivou čárkou, vrátí NaN.

Rovnocenné vzorce

Výraz a Mod b je ekvivalentní k některému z následujících vzorců:

a - (b * (a \ b))

a - (b * Fix(a / b))

S plovoucí desetinnou čárkou nepřesnosti

Při práci s čísly s plovoucí desetinnou čárkou, mějte na paměti, že vždy nemají přesnou reprezentaci v paměti.To by mohlo vést k neočekávaným výsledkům z určité operace, jako je například porovnání hodnoty a Mod operátor.Další informace naleznete v tématu Řešení potíží s datovými typy (Visual Basic).

Přetěžování

Mod Operátor může být přetížení, což znamená, že třídu nebo strukturu, můžete upravit jeho chování.Pokud váš kód používá Mod k instanci třídy nebo struktury, který zahrnuje takové přetížení, ujistěte se pochopit jeho Předefinovaná chování.Další informace naleznete v tématu Procedury operátoru (Visual Basic).

Příklad

Následující příklad používá Mod operátor dělení dvou čísel a vrácení pouze zbytku.Buď je-li číslo s plovoucí desetinnou čárkou, výsledkem je číslo s plovoucí desetinnou čárkou, která představuje zbytek.

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

Následující příklad ukazuje potenciál nepřesnosti s plovoucí desetinnou čárkou operandů.V prvním příkazu operandy jsou Double, a 0,2 je nekonečně opakováním binární zlomek s uloženou hodnotou 0.20000000000000001.V druhém příkazu literál znak D způsobí, že oba operandy na Decimal, a 0,2 má přesná reprezentace.

firstResult = 2.0 Mod 0.2
' Double operation returns 0.2, not 0.
secondResult = 2D Mod 0.2D
' Decimal operation returns 0.

Viz také

Úkoly

Řešení potíží s datovými typy (Visual Basic)

Referenční dokumentace

Aritmetické operátory (Visual Basic)

Priorita operátorů v jazyce Visual Basic

Operátory uvedené podle funkce (Visual Basic)

Int

Fix

\ – operátor (Visual Basic)

Koncepty

Aritmetické operátory v jazyce Visual Basic