Преобразование значений между строковыми и другими типами
Обновлен: Ноябрь 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)