/ – operátor (Visual Basic)
Rozdělí dvě čísla a vrátí výsledek s plovoucí desetinou čárkou.
Syntaxe
expression1 / expression2
Součástky
expression1
Povinný: Libovolný číselný výraz.
expression2
Povinný: Libovolný číselný výraz.
Podporované typy
Všechny číselné typy, včetně nepodepsaných typů a typů s plovoucí desetinou čárkou a Decimal
.
Výsledek
Výsledkem je úplný podíl děleného podílem expression2
, včetně zbytkuexpression1
.
Operátor \ (Visual Basic) vrátí celočíselné quotient, který poklesne zbytek.
Poznámky
Datový typ výsledku závisí na typech operandů. Následující tabulka ukazuje, jak se určuje datový typ výsledku.
Datové typy Operandu | Datový typ výsledku |
---|---|
Oba výrazy jsou integrální datové typy (SByte, Byte, Short, UShort, Integer, UInteger, Long, ULong) | Double |
Jeden výraz je jeden datový typ a druhý není double. | Single |
Jeden výraz je datový typ Decimal a druhý není Single nebo Double | Decimal |
Oba výrazy jsou datový typ Double | Double |
Před provedením dělení jsou všechny celočíselné číselné výrazy rozšířeny na Double
. Pokud přiřadíte výsledek k celočíselnému datovému typu, Visual Basic se pokusí převést výsledek z Double
tohoto typu. To může vyvolat výjimku, pokud se výsledek nevejde do tohoto typu. Konkrétně se na této stránce nápovědy podívejte na "Pokus o dělení podle nuly".
Pokud expression1
nebo expression2
se vyhodnotí jako Nic, považuje se za nulu.
Pokus o dělení podle nuly
Pokud expression2
se vyhodnotí jako nula, /
operátor se u různých datových typů operandu chová odlišně. Následující tabulka ukazuje možné chování.
Datové typy Operandu | Chování, pokud expression2 je nula |
---|---|
Plovoucí desetiná čárka (Single nebo Double ) |
Vrátí nekonečno (PositiveInfinitynebo ) nebo NaN (ne číslo), pokud expression1 je NegativeInfinitytaké nula. |
Decimal |
Vyvolá DivideByZeroException |
Integrál (znaménk nebo bez znaménka) | Pokus o převod zpět na celočíselný typ vyvolá, OverflowException protože integrální typy nemohou přijmout PositiveInfinity, NegativeInfinitynebo NaN |
Poznámka:
Operátor /
může být přetížen, což znamená, že třída nebo struktura mohou předefinovat jeho chování, pokud operand má typ této třídy nebo struktury. Pokud váš kód používá tento operátor pro takovou třídu nebo strukturu, ujistěte se, že rozumíte jeho předdefinované chování. Další informace naleznete v tématu Procedury operátoru.
Příklad
Tento příklad používá /
operátor k provedení dělení s plovoucí desetinou čárkou. Výsledkem je podíl dvou operandů.
Dim resultValue As Double
resultValue = 10 / 4
resultValue = 10 / 3
Výrazy v předchozím příkladu vrátí hodnoty 2,5 a 3,33333333. Všimněte si, že výsledek je vždy s plovoucí desetinou čárkou (Double
), i když oba operandy jsou celočíselné konstanty.