/ — Operator (Visual Basic)
Dzieli dwie liczby i zwraca wynik zmiennoprzecinkowa.
Składnia
expression1 / expression2
generatora
expression1
Wymagany. Dowolne wyrażenie liczbowe.
expression2
Wymagany. Dowolne wyrażenie liczbowe.
Obsługiwane typy
Wszystkie typy liczbowe, w tym typy niepodpisane i zmiennoprzecinkowe oraz Decimal
.
Result
Wynik jest pełnym ilorazem podzielonym expression1
przez expression2
, w tym wszelkie pozostałe.
Operator \ (Visual Basic) zwraca iloraz liczby całkowitej, co powoduje spadek pozostałej liczby.
Uwagi
Typ danych wyniku zależy od typów operandów. W poniższej tabeli przedstawiono sposób określania typu danych wyniku.
Typy danych operandu | Typ danych wyników |
---|---|
Oba wyrażenia to całkowite typy danych (SByte, Byte, Short, UShort, Integer, UInteger, Long, ULong) | Double |
Jedno wyrażenie jest pojedynczym typem danych, a drugie nie jest podwójne | Single |
Jedno wyrażenie jest typem danych dziesiętnych, a drugi nie jest pojedynczym lub podwójnym | Decimal |
Wyrażenie jest podwójnym typem danych | Double |
Przed wykonaniem dzielenia wszystkie wyrażenia liczbowe całkowite są rozszerzane na Double
. Jeśli przypiszesz wynik do typu danych całkowitych, program Visual Basic spróbuje przekonwertować wynik z Double
na ten typ. Może to zgłosić wyjątek, jeśli wynik nie pasuje do tego typu. W szczególności zobacz "Próba dzielenia według zera" na tej stronie Pomocy.
Jeśli expression1
wartość nic nie zostanie obliczona lub expression2
obliczona, jest traktowana jako zero.
Podjęto próbę dzielenia według zera
Jeśli expression2
ma wartość zero, /
operator zachowuje się inaczej dla różnych typów danych operandu. W poniższej tabeli przedstawiono możliwe zachowania.
Typy danych operandu | Zachowanie, jeśli expression2 ma wartość zero |
---|---|
Zmiennoprzecinkowy (Single lub Double ) |
Zwraca nieskończoność (PositiveInfinity lub ), lub NaN (nie liczbę), jeśli expression1 NegativeInfinityrównież jest równa zero |
Decimal |
Zgłasza DivideByZeroException |
Całkowita (podpisana lub niepodpisane) | Podjęto próbę konwersji z powrotem do typu całkowitego, OverflowException ponieważ typy całkowite nie mogą akceptować PositiveInfinity, NegativeInfinitylub NaN |
Uwaga
Operator /
może być przeciążony, co oznacza, że klasa lub struktura może ponownie zdefiniować jego zachowanie, gdy operand ma typ tej klasy lub struktury. Jeśli kod używa tego operatora w takiej klasie lub strukturze, upewnij się, że rozumiesz jego ponownie zdefiniowane zachowanie. Aby uzyskać więcej informacji, zobacz Procedury operatorów.
Przykład
W tym przykładzie /
operator używa operatora do wykonywania dzielenia zmiennoprzecinkowego. Wynik jest ilorazem dwóch operandów.
Dim resultValue As Double
resultValue = 10 / 4
resultValue = 10 / 3
Wyrażenia w poprzednim przykładzie zwracają wartości 2,5 i 3,3333333. Należy pamiętać, że wynik jest zawsze zmiennoprzecinkowa (Double
), mimo że oba operandy są stałymi liczbami całkowitymi.