Conversion entre des chaînes et d'autres types (Visual Basic)
Vous pouvez convertir une valeur numérique, ,Boolean
ou de date/heure en String
. Vous pouvez également effectuer une conversion dans le sens inverse (à partir d’une valeur de chaîne en valeur numérique, Boolean
ou Date
), à condition que le contenu de la chaîne puisse être interprété comme une valeur valide du type de données de destination. Si l’opération est impossible à exécuter, une erreur d’exécution se produit.
Les conversions pour toutes ces affectations, dans les deux sens, sont des conversions restrictives. Vous devez utiliser les mots clés de conversion de type (CBool
, CByte
, CDate
, CDbl
, CDec
, CInt
, CLng
, CSByte
, CShort
, CSng
, CStr
, CUInt
, CULng
, CUShort
, et CType
). Les fonctions Format et Val vous donnent un contrôle supplémentaire sur les conversions entre les chaînes et les nombres.
Si vous avez défini une classe ou une structure, vous pouvez définir des opérateurs de conversion de type entre String
et le type de votre classe ou structure. Pour plus d'informations, consultez How to: Define a Conversion Operator.
Conversion de nombres en chaînes
Vous pouvez utiliser la fonction Format
pour convertir un nombre en chaîne mise en forme, qui peut inclure non seulement les chiffres appropriés, mais également des symboles de mise en forme tels qu’un signe monétaire (tel que $
), des séparateurs de milliers ou des symboles de regroupement de chiffres (tels que ,
) et un séparateur décimal (tel que .
). Format
utilise automatiquement les symboles appropriés en fonction des paramètres Options régionales spécifiés dans le Panneau de configuration Windows.
Notez que l’opérateur de concaténation (&
) peut convertir implicitement un nombre en chaîne, comme le montre l’exemple suivant.
' The following statement converts count to a String value.
Str = "The total count is " & count
Conversion de chaînes en nombres
Vous pouvez utiliser la fonction Val
pour convertir explicitement les chiffres d’une chaîne en nombre. Val
lit la chaîne jusqu’à ce qu’elle rencontre un caractère autre qu’un chiffre, un espace, une tabulation, un flux de lignes ou un point. Les séquences « &O » et « &H » modifient la base du système numérique et terminent l’analyse. Jusqu’à ce qu’il cesse de lire, Val
convertit tous les caractères appropriés en valeur numérique. Par exemple, l’instruction suivante retourne la valeur 141.825
.
Val(" 14 1.825 miles")
Lorsque Visual Basic convertit une chaîne en valeur numérique, il utilise les paramètres Options régionales spécifiés dans le Panneau de configuration Windows pour interpréter le séparateur de milliers, le séparateur décimal et le symbole monétaire. Cela signifie qu’une conversion peut réussir sous un paramètre, mais pas sous un autre. Par exemple, "$14.20"
est acceptable dans les paramètres régionaux anglais (États-Unis), mais pas dans les paramètres régionaux Français.