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.