Оператор / (Visual Basic)
Делит одно число на другое и возвращает результат в виде числа с плавающей запятой.
Синтаксис
expression1 / expression2
Детали
expression1
Обязательный. Произвольное числовое выражение.
expression2
Обязательный. Произвольное числовое выражение.
Поддерживаемые типы
Все числовые типы, включая типы без знака и с плавающей запятой и Decimal
.
Результат
Результатом является полный кворот expression1
разделен на expression2
, включая любую оставшуюся часть.
Оператор \ (Visual Basic) возвращает целочисленное значение, которое удаляет оставшуюся часть.
Замечания
Тип данных результата зависит от типов операндов. В следующей таблице показано, как определяется тип данных результата.
Типы данных Операнда | Тип результирующих данных |
---|---|
Оба выражения являются целочисленными типами данных (SByte, Byte, Short, UShort, Integer, UInteger, Long, ULong) | Double |
Одно выражение является одним типом данных, а другое — не двойным. | Single |
Одно выражение — десятичный тип данных, а другой — не один или двойный . | Decimal |
Любое выражение — это тип данных Double | Double |
Перед выполнением деления все целочисленные числовые выражения расширяются до Double
. Если вы назначаете результат целочисленного типа данных, Visual Basic пытается преобразовать результат из Double
этого типа. Это может вызвать исключение, если результат не соответствует этому типу. В частности, на этой странице справки см. раздел "Попытка деления по нулю".
Если expression1
или expression2
оценивается как "Ничего", он обрабатывается как ноль.
Попытка деления на ноль
Если expression2
значение равно нулю, /
оператор ведет себя по-разному для разных типов данных операнда. В следующей таблице показаны возможные характеристики.
Типы данных Операнда | Поведение, если expression2 равно нулю |
---|---|
С плавающей запятой (Single или Double ) |
Возвращает бесконечность (PositiveInfinityили) или NegativeInfinityNaN (не число), если expression1 также равно нулю |
Decimal |
Бросает DivideByZeroException |
Целочисленный (подписанный или неподписанный) | Попытка преобразования обратно в целочисленный тип вызывается OverflowException , так как целочисленные типы не могут принимать PositiveInfinity, NegativeInfinityили NaN |
Примечание.
Оператор /
может быть перегружен, что означает, что класс или структура могут переопределить его поведение, если операнда имеет тип этого класса или структуры. Если код использует этот оператор в таком классе или структуре, убедитесь, что вы понимаете его переопределенное поведение. Для получения дополнительной информации см. Operator Procedures.
Пример
В этом примере оператор используется /
для выполнения деления с плавающей запятой. Результатом является кворот двух операндов.
Dim resultValue As Double
resultValue = 10 / 4
resultValue = 10 / 3
Выражения в предыдущем примере возвращают значения 2.5 и 3.333333. Обратите внимание, что результат всегда является плавающей запятой (Double
), даже если оба операнда являются целыми константами.