J'essaie de créer une chaîne à partir d'une variable dans PowerShell. Je veux afficher les nombres sous forme de chaînes et non de nombres entiers.
J'ai essayé de mettre [str] avant ma variable, comme pour string to integer ([int]), mais cela m'a donné une erreur. J'ai également recherché mon problème, mais personne n'a posé de question comme celle-ci.
Le code en question est la ligne "$ jstr".
for ($j = 0; $j -lt 1000; $j++) { $jstr = [str]$j $dot = "." $num = $jstr + $dot Write-Host $num, Get-Random -SetSeed $j }
I veulent que la sortie soit quelque chose comme "1. Nombre aléatoire ", avec 1 étant le numéro de départ et Nombre aléatoire étant le nombre mappé à cette graine,
3 Réponses :
Quelques façons ...
Si vous avez un nombre exprimé sous forme de chaîne, vous pouvez appeler la méthode toInt32 ()
de string
: p >
Vous pouvez l'attribuer à une variable avec l'identifiant de type:
Cependant, cela fonctionne UNIQUEMENT si la chaîne est composée de TOUS les nombres (pas de caractères non numériques / non hexadécimaux).
Si vous voulez aller dans l'autre sens ( exprimer un entier sous forme de chaîne), utilisez la méthode toString ()
:
$integer.toString()
Comme ça?
for ($j = 0; $j -lt 6; $j++) { $rand = Get-Random -SetSeed $j "$j.$rand" } 0.1866861594 1.42389573 2.365335408 3.688215708 4.1011161543 5.1334173171
voici une façon d'obtenir une liste avec la graine à gauche, un point, puis le nombre aléatoire. il utilise l'opérateur de format de chaîne -f
pour placer les nombres et pour aligner les nombres dans l'espace alloué. [ grin ]
0. 607 1. 602 2. 997 3. 636 4. 143 5. 839 6. 6 7. 404 8. 536 9. 394 10. 124
sortie ...
$Start = 0 $End = 10 $SLength = ([string]$Count).Length $RMin = 0 $RMax = 1e3 $RLength = ([string]$RMax).Length foreach ($Number in $Start..$End) { "{0,$SLength}. {1,$RLength}" -f $Number, (Get-Random -SetSeed $Number -InputObject ($RMin..$RMax)) }
l'accélérateur de type pour les chaînes est ...
[string]
, pas[str]
. [ sourire ]Pas sûr à 100% de ce que vous demandez. Le titre est "Comment convertir une chaîne en entier dans PowerShell?" Mais, dans votre message, vous déclarez: «Je veux afficher les nombres sous forme de chaînes et non sous forme d'entiers». Voulez-vous des chaînes sous forme d'entiers ou des entiers sous forme de chaînes?
Merci Lee, j'ai résolu mon problème.