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

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

Можно преобразовать числовые, Boolean или значения дата/время в String. Возможно также обратное преобразование — от строковых значений к числовым, Boolean или Date — с интерпретацией содержимого строки как значения, допустимого для конечного типа данных. Если это невозможно, то возникает ошибка во временя выполнения.

Преобразования для всех этих присваиваний в том же направлении являются сужающими преобразованиями. Следует использовать ключевые слова преобразования типов (CBool, CByte, CDate, CDbl, CDec, CInt, CLng, CSByte, CShort, CSng, CStr>, CUInt>, CULng>, CUShort> и CType>). Функция Format и Функция Val предоставляет дополнительные возможности контроля преобразования между строками и числами.

Если определены класс или структура, то можно определить операторы преобразования типов между String и типом класса или структуры. Дополнительные сведения см. в разделе Практическое руководство. Определение оператора преобразования.

Преобразование чисел в строки

Можно использовать функцию Format для преобразования числа в форматированную строку, которая может включать не только соответствующие цифры, но также форматирующие символы, такие как знак валюты (например, $), разделитель тысяч или символы группировки цифр (такие как ,) и десятичный разделитель (например .). Format автоматически использует соответствующие символы согласно настройкам Язык и региональные стандарты, которые указанны в Windows Панель управления>.

Следует учитывать, что оператор объединения (&) может преобразовать число в строку неявным образом, как показано в следующем примере:

' The following statement converts count to a String value.
Str = "The total count is " & count

Преобразование чисел в строки

Можно использовать функцию Val для явного преобразования цифр в строке в число.Val считывает строку пока не встретится знак, отличный от цифр, пробела, табуляции, символа перевода строки или точки. Сочетания "&O" и "&H" изменяют основание системы счисления и завершают считывание. Пока не будет остановлено считывание, функция Val преобразует все соответствующие знаки в числовые значения. Например, следующий оператор возвращает значение 141.825:

Val(" 14 1.825 miles")

При преобразовании строки в числовое значение Visual Basic использует для интерпретации разделителя групп разрядов, разделителя дробной части и символа денежной единицы параметры, заданные в Панели управления Windows Язык и региональные стандарты. Это означает, что преобразования при одних параметрах могут быть успешными, а при других — нет. Например, "$14.20" приемлемо в англоязычной среде, но неприемлемо во франкоязычной.

См. также

Задачи

Практическое руководство. Преобразование объекта к другому типу в Visual Basic

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

Расширяющие и сужающие преобразования

Явные и неявные преобразования

Изменение значений в процессе преобразований

Преобразования массивов

Знакомство с международными приложениями на платформе .NET Framework

Ссылки

Сводка типов данных (Visual Basic)

Функции преобразования типов

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

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