Question
convertir un String en int
- Patrick Berthon
- Hors Ligne
- Membre premium
Réduire
Plus d'informations
- Messages : 100
- Remerciements reçus 0
il y a 15 ans 10 mois #2486
par Patrick Berthon
Réponse de Patrick Berthon sur le sujet Re:convertir un String en int
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 \"\", ç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
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 \"\", ç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.
- Frisco
- Auteur du sujet
- Hors Ligne
- Membre senior
Réduire
Plus d'informations
- Messages : 44
- Remerciements reçus 0
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 \"6\".
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 \"54\"
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
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 \"6\".
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 \"54\"
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.
- Patrick Berthon
- Hors Ligne
- Membre premium
Réduire
Plus d'informations
- Messages : 100
- Remerciements reçus 0
il y a 15 ans 10 mois #2488
par Patrick Berthon
Réponse de Patrick Berthon sur le sujet Re:convertir un String en int
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 \"\" à un char, si tu obtiens un string, tu es sauvé <br><br>Message édité par: Zylwee, à: 20/06/08 11:40
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 \"\" à 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.
- Patrick Berthon
- Hors Ligne
- Membre premium
Réduire
Plus d'informations
- Messages : 100
- Remerciements reçus 0
il y a 15 ans 10 mois #2489
par Patrick Berthon
Réponse de Patrick Berthon sur le sujet Re:convertir un String en int
Re
je confirme
$a=\"76\"
$b=$a[1]
$b
6
[int]$b
54
$c=$b+\"\"
$c
6
[int]$c
6
je confirme
$a=\"76\"
$b=$a[1]
$b
6
[int]$b
54
$c=$b+\"\"
$c
6
[int]$c
6
Connexion ou Créer un compte pour participer à la conversation.
- Frisco
- Auteur du sujet
- Hors Ligne
- Membre senior
Réduire
Plus d'informations
- Messages : 44
- Remerciements reçus 0
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+\"\"[/code:1]
Solution de secours ca marche .. merci
Solution de secours ca marche .. merci
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 6302
- Remerciements reçus 68
il y a 15 ans 10 mois #2491
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:convertir un String en int
frisco écrit:
[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
oui mais à la lecture cela reste difficile de connaitre l'intention. Autant la préciser quitte à être un peu plus verbeux :Solution de secours ca marche
[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
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- convertir un String en int