Поделиться через


Преобразования между строками и другими типами (Visual Basic)

Можно преобразовать числовое значение 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" допустимо в английском (СОЕДИНЕННЫХ Штатах) языковом стандарте, но не в любом французском языковом стандарте.

См. также