Question
Impossible de convertir la valeur"" en type .
- Philippe
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 10 ans 2 mois #21273
par Philippe
PS : ooops je me suis trompé dans la recopie. il y plus de soucis
mais le \"n0\" n'est pas plus simple ??
“{0:n0}” -f (3580024 / 1KB )
et puis on perd la mise en forme pour l'affichage !!!
ce qui est la source du problème !!! les auteurs du livre n'ont rien vu !!!
mais sinon pour en finir avec ce problème, il y deux solution :
la mienne un peu violente (je calcul à partir des valeur d'orgine, ce qui alourdi le code)
remplace cette ligne :
[code:1] $objCluster.MemUsagePct = “{0:«»p2}” -f ($objCluster.AssignedMemGB / $objCluster.TotalMemGB«»)
[/code:1]
par cette ligne :
[code:1] $objCluster.MemUsagePct = “{0:«»p2}” -f ((($vm | Where {$_.PowerState -eq “PoweredOn”} | Measure-Object -Property MemoryMB -Sum).Sum / 1024) / ($cluster.ExtensionData.Summary.TotalMemory / 1GB«»))
[/code:1]
ou celle de Laurent (qui remplace l'espace au char\"160\" par rien)
remplace la même ligne par celle là :
[code:1] $objCluster.MemUsagePct = “{0:«»p2}” -f ($objCluster.AssignedMemGB.Replace(\"$([char]160)\", '') / $objCluster.TotalMemGB.Replace(\"$([char]160)\", ''))
[/code:1]
Message édité par: 6ratgus, à: 14/01/16 16:55<br><br>Message édité par: 6ratgus, à: 14/01/16 16:58
Réponse de Philippe sur le sujet Re:Impossible de convertir la valeur
j'ai toujour 160 pour l'espace ?!!![code:1]$S=[Math]::Round(3980024 / 1024,2)[/code:1]
Renvoi un entier, plus de pb...
PS : ooops je me suis trompé dans la recopie. il y plus de soucis
mais le \"n0\" n'est pas plus simple ??
“{0:n0}” -f (3580024 / 1KB )
et puis on perd la mise en forme pour l'affichage !!!
ce qui est la source du problème !!! les auteurs du livre n'ont rien vu !!!
mais sinon pour en finir avec ce problème, il y deux solution :
la mienne un peu violente (je calcul à partir des valeur d'orgine, ce qui alourdi le code)
remplace cette ligne :
[code:1] $objCluster.MemUsagePct = “{0:«»p2}” -f ($objCluster.AssignedMemGB / $objCluster.TotalMemGB«»)
[/code:1]
par cette ligne :
[code:1] $objCluster.MemUsagePct = “{0:«»p2}” -f ((($vm | Where {$_.PowerState -eq “PoweredOn”} | Measure-Object -Property MemoryMB -Sum).Sum / 1024) / ($cluster.ExtensionData.Summary.TotalMemory / 1GB«»))
[/code:1]
ou celle de Laurent (qui remplace l'espace au char\"160\" par rien)
remplace la même ligne par celle là :
[code:1] $objCluster.MemUsagePct = “{0:«»p2}” -f ($objCluster.AssignedMemGB.Replace(\"$([char]160)\", '') / $objCluster.TotalMemGB.Replace(\"$([char]160)\", ''))
[/code:1]
Message édité par: 6ratgus, à: 14/01/16 16:55<br><br>Message édité par: 6ratgus, à: 14/01/16 16:58
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 10 ans 2 mois #21274
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Impossible de convertir la valeur
6ratgus écrit:
[code:1]
[Math]::Round
#OverloadDefinitions
#
#static double Round(double a)[/code:1]
Il ne peut donc y avoir d'espace, même si la variable $S est typée en [String]
Refait un test, Round() renvoi un Double:j'ai toujours 160 pour l'espace ?!!!
[code:1]
[Math]::Round
#OverloadDefinitions
#
#static double Round(double a)[/code:1]
Il ne peut donc y avoir d'espace, même si la variable $S est typée en [String]
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 10 ans 2 mois #21275
par Philippe
Réponse de Philippe sur le sujet Re:Impossible de convertir la valeur
tu tape trop vite au clavier maintenant !!
j'ai corrigé mon post entre temps !!
j'ai corrigé mon post entre temps !!
Connexion ou Créer un compte pour participer à la conversation.
- serval13
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 9
- Remerciements reçus 0
il y a 10 ans 2 mois #21276
par serval13
Réponse de serval13 sur le sujet Re:Impossible de convertir la valeur
super, la derniere solution fonctionne
effectivement j'avais essayer de jouer avec les cultureinfo sans resultats
mais la cela fonctionne
$objCluster.MemUsagePct = “{0 : p2}” -f ($objCluster.AssignedMemGB.Replace(\"$([char]160)\", '') / $objCluster.TotalMemGB.Replace(\"$([char]160)\", ''))<br><br>Message édité par: serval13, à: 14/01/16 17:18
effectivement j'avais essayer de jouer avec les cultureinfo sans resultats
mais la cela fonctionne
$objCluster.MemUsagePct = “{0 : p2}” -f ($objCluster.AssignedMemGB.Replace(\"$([char]160)\", '') / $objCluster.TotalMemGB.Replace(\"$([char]160)\", ''))<br><br>Message édité par: serval13, à: 14/01/16 17:18
Connexion ou Créer un compte pour participer à la conversation.
- serval13
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 9
- Remerciements reçus 0
il y a 10 ans 2 mois #21277
par serval13
Réponse de serval13 sur le sujet Re:Impossible de convertir la valeur
cela doit etre ca
nicekel cela fonctionne je trouve bien mon pourcentage a 73.96%
merci pour votre coup de main cela été a s'arracher les cheveux
merci pour votre coup de main cela été a s'arracher les cheveux
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 10 ans 2 mois #21279
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Impossible de convertir la valeur
serval13 écrit:
Pour la solution, le code autour de [String]::Format est dépendant de la culture :
[code:1]
#http://keithhill.spaces.live.com/Blog/cns!5A8D2641E0963A97!7132.entry
function Using-Culture ([System.Globalization.CultureInfo]$culture =(throw \"USAGE: Using-Culture -Culture culture -Script {scriptblock}\"«»),
[ScriptBlock]$script=(throw \"USAGE: Using-Culture -Culture culture -Script {scriptblock}\"«»))
{
$OldCulture = [System.Threading.Thread]::CurrentThread.CurrentCulture
$OldUICulture = [System.Threading.Thread]::CurrentThread.CurrentUICulture
try {
[System.Threading.Thread]::CurrentThread.CurrentCulture = $culture
[System.Threading.Thread]::CurrentThread.CurrentUICulture = $culture
Invoke-Command $script
}
finally {
[System.Threading.Thread]::CurrentThread.CurrentCulture = $OldCulture
[System.Threading.Thread]::CurrentThread.CurrentUICulture = $OldUICulture
}
}
$code={
$s=\"{0:n2}\" -f (3980024 / 1024)
[byte[]][char[]]$s
}
Using-Culture 'Fr-Fr' $Code
#160
Using-Culture 'EN-US' $Code
#44
[/code:1]
Des entiers je vous dis
C'est vrai que Powershell provoque qq fois des problèmes capillaires.merci pour votre coup de main cela été a s'arracher les cheveux
Pour la solution, le code autour de [String]::Format est dépendant de la culture :
[code:1]
#http://keithhill.spaces.live.com/Blog/cns!5A8D2641E0963A97!7132.entry
function Using-Culture ([System.Globalization.CultureInfo]$culture =(throw \"USAGE: Using-Culture -Culture culture -Script {scriptblock}\"«»),
[ScriptBlock]$script=(throw \"USAGE: Using-Culture -Culture culture -Script {scriptblock}\"«»))
{
$OldCulture = [System.Threading.Thread]::CurrentThread.CurrentCulture
$OldUICulture = [System.Threading.Thread]::CurrentThread.CurrentUICulture
try {
[System.Threading.Thread]::CurrentThread.CurrentCulture = $culture
[System.Threading.Thread]::CurrentThread.CurrentUICulture = $culture
Invoke-Command $script
}
finally {
[System.Threading.Thread]::CurrentThread.CurrentCulture = $OldCulture
[System.Threading.Thread]::CurrentThread.CurrentUICulture = $OldUICulture
}
}
$code={
$s=\"{0:n2}\" -f (3980024 / 1024)
[byte[]][char[]]$s
}
Using-Culture 'Fr-Fr' $Code
#160
Using-Culture 'EN-US' $Code
#44
[/code:1]
Des entiers je vous dis
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.101 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Impossible de convertir la valeur"" en type .