La méthode la plus simple de convertir un texte vers sa valeur entière est de faire un casting à la dure.
Bien qu'il existe d'autres méthodes, je vous propose celle-ci en guise d'exemple
$b = [int]"123"
$b
Affiche:
123
Par contre, s'il y a des caractères alphanumérique dans la chaine source, cela se termine en plantage.
Par exemple:
$b = [int]"123a"
Affiche
Impossible de convertir la valeur « 123a » en type « System.Int32 ». Erreur : « Le format de la chaîne d'entrée est incorrect. »
Au niveau de ligne : 1 Caractère : 11
+ $b = [int] <<<< "123a"
+ CategoryInfo : NotSpecified: (:) [], RuntimeException
+ FullyQualifiedErrorId : RuntimeException
Au niveau de ligne : 1 Caractère : 11
+ $b = [int] <<<< "123a"
+ CategoryInfo : NotSpecified: (:) [], RuntimeException
+ FullyQualifiedErrorId : RuntimeException
Une conversion sécurisée
La conversion sécurisée est obtenue avec l'opérateur "-as". Si la conversion est impossible, le résultat sera simplement Null.
Voici les deux exemples précédents:
$b = "123" -as [int]
$b -eq $null
Affiche
False
La valeur de $b peut-être utilisée directement
$b
Affiche
123
Et maintenant, s'il y a un problème dans la chaine source:
$b = "123a" -as [int]
$b -eq $null
Affiche... notez que la conversion ne génère pas d'erreur :-)
True
Aucun commentaire:
Enregistrer un commentaire