Conversiones entre cadenas y otros tipos (Visual Basic)
Puedes convertir un valor numérico, Boolean
o de fecha y hora en String
. También puedes convertir en la dirección inversa ( de un valor de cadena a numérico, Boolean
o Date
) siempre que el contenido de la cadena se pueda interpretar como un valor válido del tipo de datos de destino. Si no pueden, se produce un error en tiempo de ejecución.
Las conversiones de todas estas asignaciones, en cualquier dirección, son conversiones de restricción. Debe usar las palabras clave de conversión de tipos (CBool
, CByte
, CDate
, CDbl
, CDec
, CInt
, CLng
, CSByte
, CShort
, CSng
, CStr
, CUInt
, CULng
, CUShort
y CType
). Las Format funciones y Val proporcionan un control adicional sobre las conversiones entre cadenas y números.
Si has definido una clase o estructura, puedes definir operadores de conversión de tipos entre String
y el tipo de la clase o estructura. Para obtener más información, consulta How to: Define a Conversion Operator.
Conversión de números a cadenas
Puedes usar la Format
función para convertir un número en una cadena con formato, que puede incluir no solo los dígitos adecuados, sino también dar formato a símbolos como un signo de moneda (como $
), separadores de miles o símbolos de agrupación de dígitos (como ,
) y un separador decimal (como .
). Format
usa automáticamente los símbolos adecuados según la configuración de opciones regionales especificada en el Panel de control de Windows.
Ten en cuenta que el operador de concatenación (&
) puede convertir un número en una cadena implícitamente, como se muestra en el ejemplo siguiente.
' The following statement converts count to a String value.
Str = "The total count is " & count
Conversión de cadenas a números
Puedes usar la Val
función para convertir explícitamente los dígitos de una cadena en un número. Val
lee la cadena hasta que encuentra un carácter distinto de un dígito, un espacio, una pestaña, una fuente de líneas o un punto. Las secuencias "&O" y "&H" alteran la base del sistema numérico y terminan la exploración. Hasta que deje de leerse, Val
convierte todos los caracteres adecuados en un valor numérico. Por ejemplo, la instrucción siguiente devuelve el valor 141.825
.
Val(" 14 1.825 miles")
Cuando Visual Basic convierte una cadena en un valor numérico, usa la configuración de opciones regionales especificada en windows Panel de control para interpretar el separador de miles, el separador decimal y el símbolo de moneda. Esto significa que una conversión puede realizarse correctamente en una configuración, pero no en otra. Por ejemplo, "$14.20"
es aceptable en la configuración regional inglés (Estados Unidos), pero no en ninguna configuración regional francesa.