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