Chaque fois que Powershell demande à l’utilisateur d’entrer des donnés (read-host) ou lit le contenu d’un fichier texte, le résultat est du « texte » (string).
C’est pourquoi si comme ci-dessous vous demandez un chiffre à l’utilisateur et que votre code fait un traitement, vous n’obtiendrez pas le résultat escompté :
PS> $number = Read-Host ‘Enter a number’
Enter a number: 100
PS> $number * 12
100100100100100100100100100100100100
Si maintenant on cast la réponse de l’utilisateur en tant que « Double », ça fonctionne :
PS> $number = [Double](Read-Host ‘Enter a number’)
Enter a number: 100
PS> $number * 12
1200