Подробное рассмотрение. Преобразование от одного типа переменной к другому

Обновлен: Ноябрь 2007

Как было сказано на предыдущем занятии, существуют разные типы переменных. Тип определяет, какого рода данные может содержать переменная. Переменная типа Integer может содержать только числовые данные без десятичных разделителей. Переменная типа String может содержать только текст.

Что происходит, когда требуется отобразить данные типа Integer в элементе управления TextBox, для которого требуется тип данных String? В этом случае данные должны быть преобразованы из одного типа в другой. В этом разделе будет показано, как преобразовывать данные из одного типа в другой, рассказаны некоторые методы, используемые для преобразования данных, а также некоторые связанные с ними сложности.

Преобразование переменных в текст

Каждая переменная в Visual Basic может быть преобразована в текст с помощью специальной функции CStr (сокращение от Convert to String). Эта функция, как следует из ее названия, возвращает данные, представленные в переменной, в виде данных типа String. В следующей процедуре демонстрируется простой пример преобразования данных типа Integer в текст.

Практическое задание

Преобразование переменной в текст

  1. В меню Файл выберите команду Создать, а затем пункт Проект.

  2. В диалоговом окне Создание проекта в области Шаблоны выберите Приложение Windows.

  3. В поле Имя введите Conversion и нажмите кнопку ОК.

    Откроется новый проект Windows Forms.

  4. Дважды щелкните форму, чтобы открыть редактор кода.

  5. В обработчике событий Form1_Load добавьте следующий код.

    Dim anInteger As Integer = 54
    MsgBox(CStr(anInteger))
    

    В этом коде объявляется переменная типа Integer с именем anInteger, ей присваивается значение 54, а затем это значение преобразуется в текст и отображается в окне сообщения путем вызова функции CStr.

  6. Нажмите клавишу F5 для построения и запуска приложения. Откроется окно сообщения, в котором будет отображено значение 54.

    А теперь немного отвлечемся. В редакторе кода замените строку, в которой написано MsgBox(CStr(anInteger)) , строкой MsgBox(anInteger) и нажмите клавишу F5 для запуска. Что произошло? Программа ведет себя точно так же, как и раньше! Visual Basic достаточно умен, чтобы понять, что на самом деле нужно преобразовать данные типа Integer в текст для отображения в окне сообщения. Однако нельзя полностью полагаться на такое поведение во всех случаях — существуют многие типы переменных, которые не могут быть преобразованы автоматически. Таким образом, рекомендуется всегда использовать функцию CStr, даже если переменная должна быть автоматически преобразована в текст.

Помимо преобразования переменных типа Integer в текст, функция CStr может использоваться для преобразования любого числового типа данных, например, Double или Long. Также она может использоваться для преобразования в текст данных типа Date и типа Boolean. Дополнительные сведения о типах данных см. в Подробное рассмотрение. Типы данных.

Преобразование между числовыми типами данных

Как было рассмотрено на занятии по арифметическим операциям, иногда результат арифметической операции не может быть представлен в виде Integer. Помимо функции преобразования чисел в текст, в Visual Basic также предусмотрены функции для преобразования переменных из одного числового типа данных в другой. Например, можно использовать функцию CDbl (Convert to Double) в арифметической операции для возврата дробных чисел при работе с переменными типа Integer. В следующей процедуре показано использование функции CDbl при делении двух целых чисел.

Практическое задание

Преобразование числовых типов данных

  1. В редакторе кода удалите код, введенный в предыдущей процедуре, и напишите следующее.

    Dim A As Integer = 1
    Dim B As Integer = 2
    MsgBox(CDbl(A / B))
    

    Этот код объявляет две переменные типа Integer (A и B), присваивает им значения 1 и 2, а затем преобразует результат операции деления (A / B) при помощи функции CDbl и отображает его в окне сообщения.

  2. Нажмите клавишу F5 для построения и запуска приложения. Откроется окно сообщения, в котором будет отображено значение 0.5.

Visual Basic также содержит функции для других типов числовых переменных. Например, если нужно сложить две переменные типа Double и округлить результат до ближайшего целого числа, используется функция CInt. Другие функции числового преобразования: CByte, CDec, CLng и CShort. Список всех функций преобразования в Visual Basic см. в Функции преобразования типов.

Следующие действия

На этом занятии вы узнали, как преобразовывать числовые переменные в текст и как преобразовывать различные типы числовых переменных. На следующем занятии, Сравнение. Использование выражений для сравнения значений, вы узнаете, как вычислять выражения.

См. также

Задачи

Арифметические операции. Создание выражений с переменными и операторами

Основные понятия

Подробное рассмотрение. Типы данных

Ссылки

Константы формата даты для пользователей Visual Basic 6.0

Другие ресурсы

Преобразование типов в Visual Basic