Bird
Raised Fist0
PowerShellscripting~10 mins

Type casting in PowerShell - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to convert the string '123' to an integer.

PowerShell
$number = [[1]]'123'
Drag options to blanks, or click blank then click option'
Aint
Bstring
Cbool
Darray
Attempts:
3 left
💡 Hint
Common Mistakes
Using [string] instead of [int] will keep the value as text.
Using [bool] will convert to true or false, not a number.
2fill in blank
medium

Complete the code to cast the number 0 to a boolean value.

PowerShell
$flag = [[1]]0
Drag options to blanks, or click blank then click option'
Astring
Bint
Cdouble
Dbool
Attempts:
3 left
💡 Hint
Common Mistakes
Casting to [int] does not change the value.
Casting to [string] converts the number to text.
3fill in blank
hard

Fix the error in the code to cast the string 'True' to a boolean.

PowerShell
$isActive = [[1]]'True'
Drag options to blanks, or click blank then click option'
Astring
Bint
Cbool
Ddouble
Attempts:
3 left
💡 Hint
Common Mistakes
Using [int] causes an error because 'True' is not a number.
Using [string] keeps the value as text.
4fill in blank
hard

Fill both blanks to cast the string '3.14' to a double and then to an integer.

PowerShell
$piDouble = [[1]]'3.14'
$piInt = [[2]]$piDouble
Drag options to blanks, or click blank then click option'
Adouble
Bint
Cstring
Dbool
Attempts:
3 left
💡 Hint
Common Mistakes
Casting directly from string to int loses the decimal part or causes errors.
Casting to [bool] is not appropriate here.
5fill in blank
hard

Fill all three blanks to create a hashtable with keys as uppercase strings and values as integers greater than 3.

PowerShell
$words = @('one', 'two', 'three', 'four')
$result = @{ [1] = [2] for $w in $words if [3] }
Drag options to blanks, or click blank then click option'
A$w.ToUpper()
B$w.Length
C$w.Length -gt 3
D$w
Attempts:
3 left
💡 Hint
Common Mistakes
Using $w as key keeps keys lowercase.
Filtering with incorrect condition includes unwanted words.

Practice

(1/5)
1. What does type casting do in PowerShell?
easy
A. It changes a value from one data type to another.
B. It creates a new variable without a value.
C. It deletes a variable from memory.
D. It runs a script automatically.

Solution

  1. Step 1: Understand type casting meaning

    Type casting means converting a value from one type to another, like string to integer.
  2. Step 2: Match with options

    Only It changes a value from one data type to another. describes changing data types, which is type casting.
  3. Final Answer:

    It changes a value from one data type to another. -> Option A
  4. Quick Check:

    Type casting = changing data type [OK]
Hint: Type casting means changing data type of a value [OK]
Common Mistakes:
  • Confusing type casting with variable creation
  • Thinking it deletes variables
  • Assuming it runs scripts automatically
2. Which of the following is the correct syntax to cast the string '123' to an integer in PowerShell?
easy
A. [int]'123'
B. int('123')
C. (int)'123'
D. cast int '123'

Solution

  1. Step 1: Recall PowerShell casting syntax

    PowerShell uses [Type](value) to cast, e.g., [int]'123'.
  2. Step 2: Check options for correct syntax

    [int]'123' matches the correct syntax. Options A, C, and D are invalid in PowerShell.
  3. Final Answer:

    [int]'123' -> Option A
  4. Quick Check:

    Use [Type](value) for casting [OK]
Hint: Use square brackets with type before value [OK]
Common Mistakes:
  • Using parentheses like a function call
  • Trying to use 'cast' keyword
  • Missing square brackets
3. What will be the output of this PowerShell code?
$value = [int]'5.7'
Write-Output $value
medium
A. 5.7
B. 5
C. Error
D. 6

Solution

  1. Step 1: Understand casting string '5.7' to int

    Casting string '5.7' to int truncates the decimal part, resulting in 5.
  2. Step 2: Check output of Write-Output

    It prints the integer 5, not 5.7 or 6, and no error occurs.
  3. Final Answer:

    5 -> Option B
  4. Quick Check:

    String to int truncates decimals = 5 [OK]
Hint: Casting float string to int truncates decimals [OK]
Common Mistakes:
  • Expecting rounding instead of truncation
  • Thinking it throws an error
  • Assuming output stays as string
4. Identify the error in this PowerShell code:
$num = [int] 'abc'
medium
A. No error, $num becomes 0
B. Syntax error due to space between [int] and string
C. Runtime error: Cannot convert 'abc' to int
D. It converts 'abc' to string automatically

Solution

  1. Step 1: Analyze casting 'abc' to int

    String 'abc' cannot be converted to integer, causing a runtime error.
  2. Step 2: Check syntax and error type

    Space between [int] and string is allowed; error is runtime conversion failure.
  3. Final Answer:

    Runtime error: Cannot convert 'abc' to int -> Option C
  4. Quick Check:

    Invalid string to int causes runtime error [OK]
Hint: Invalid string to int causes runtime error [OK]
Common Mistakes:
  • Thinking space causes syntax error
  • Assuming it converts to zero
  • Believing it auto-converts to string
5. You have a list of strings representing numbers: @('10', '20', '30'). How do you convert all items to integers in PowerShell efficiently?
hard
A. @('10', '20', '30').ToInt()
B. [int]@('10', '20', '30')
C. Cast-Int @('10', '20', '30')
D. @('10', '20', '30') | ForEach-Object { [int]$_ }

Solution

  1. Step 1: Understand list conversion

    Each string must be cast individually to int; PowerShell does not cast arrays directly.
  2. Step 2: Check options for correct method

    @('10', '20', '30') | ForEach-Object { [int]$_ } uses ForEach-Object to cast each item correctly. Options A, B, and D are invalid or unsupported.
  3. Final Answer:

    @('10', '20', '30') | ForEach-Object { [int]$_ } -> Option D
  4. Quick Check:

    Use ForEach-Object to cast each item [OK]
Hint: Use ForEach-Object to cast each array item [OK]
Common Mistakes:
  • Trying to cast whole array at once
  • Using non-existent methods like ToInt()
  • Assuming a Cast-Int cmdlet exists
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard