Question convertir un String en int

Plus d'informations
il y a 15 ans 10 mois #2486 par Patrick Berthon
salut,

chr$(55) = '7' bref, '7' a pour code ASCII 55

en CSharp, j'utiliserais System.Convert.ToInt32
mais je débute en powershell, alors je ne sais pas comment convertir cet appel, je suis pas encore arrivé là dans le livre ;)

ce qui me fait penser :
tu prends $i[$quelquechose]
ça te rend un caractère

peut-être que si tu y ajoutais un \&quot;\&quot;, ça le convertirait en string, et la conversion qu'on t'a proposée fonctionnerait surement<br><br>Message édité par: Zylwee, à: 20/06/08 11:36

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 10 mois #2487 par Frisco
Réponse de Frisco sur le sujet Re:convertir un String en int
Alors voila le test que je viens de faire:

J'ai créé un fichier text.txt, le contenu est 987654321

Voici le code:
[code:1]
$contenu = get-content text.txt
$chiffre = $contenu[3]
[/code:1]

si on regarde la valeur de $chiffre, on a \&quot;6\&quot;.
Si on fait [code:1]$chiffre.gettype()[/code:1] on voit bien que c'est un char.

Maintenant si on fait [code:1]$chiffre - 4[/code:1]
on obtient 50 ??

maintenant si on fait [code:1][int]$chiffre = $contenu[3][/code:1] on obtient comme valeur \&quot;54\&quot;

En gros je ne dois pas utiliser le bon code pour récupérer la valeur de mon fichier ... qu'en pensez vous ?<br><br>Message édité par: frisco, à: 20/06/08 11:35

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 10 mois #2488 par Patrick Berthon
j'ai édité mon post entre temps

lance cmd.exe et tape 54 en maintenant la touche Alt enfoncée, je parie que tu auras un '6'
(oui, je sais, dans le livre, il est conseillé de ne plus lancer cmd.exe, mais je suis pas sûr que ça marche sous powershell :) )

bref, en ajoutant \&quot;\&quot; à un char, si tu obtiens un string, tu es sauvé :)<br><br>Message édité par: Zylwee, à: 20/06/08 11:40

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 10 mois #2489 par Patrick Berthon
Re :)

je confirme
$a=\&quot;76\&quot;
$b=$a[1]
$b
6
[int]$b
54
$c=$b+\&quot;\&quot;
$c
6
[int]$c
6

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 10 mois #2490 par Frisco
Réponse de Frisco sur le sujet Re:convertir un String en int
[code:1]$c=$b+\&quot;\&quot;[/code:1]

Solution de secours ca marche .. merci

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 10 mois #2491 par Laurent Dardenne
frisco écrit:

Solution de secours ca marche

oui mais à la lecture cela reste difficile de connaitre l'intention. Autant la préciser quitte à être un peu plus verbeux :
[code:1]
[int]$chiffre = $contenu[3].tostring()
[/code:1]
voir :
[code:1]
$chiffre=[string]$contenu[3] -as [int]
#identique
$chiffre=[int]($contenu[3] -as [string])
[/code:1]
et plus simplement
[code:1]
[int]$chiffre=[string]$contenu[3]
[/code:1]
Pour info comme vous l'avez remarqué une string est un tableau de char qui est un type immuable, lors de la modification d'une string .NET crée un nouveau tableau. C'est une des raisons qui font que, dans certains contexte au sein d'un boucle par exemple, la concaténation de string est coûteux en performance.
Préférez l'usage d'un StringBuilder.<br><br>Message édité par: Laurent Dardenne, à: 23/06/08 13:22

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.076 secondes
Propulsé par Kunena