Operátor MOD (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í:
\ Operátor (Visual Basic) Vrátí podíl celočíselné dělení.Například výraz 14 \ 4 je vyhodnocen jako 3.
/ Operátor (Visual Basic) Vrátí úplnou quotient, včetně zbývající jako číslo s plovoucí desetinnou čárkou.Například výraz 14 / 4 je vyhodnocen jako 3.5.
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 Poradce při potížích s typy dat (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 Operátor postupy (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
Poradce při potížích s typy dat (Visual Basic)
Referenční dokumentace
Aritmetické operátory (Visual Basic)
Priority operátorů v jazyce Visual Basic
Operátory uvedené podle funkcí (Visual Basic)