Bird
Raised Fist0
Rubyprogramming~20 mins

Integer and Float number types in Ruby - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Ruby Number Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
What is the output of this Ruby code with integer division?
Consider the following Ruby code snippet. What will it print?
Ruby
result = 7 / 2
puts result
A3
B3.5
C4
D7
Attempts:
2 left
💡 Hint
In Ruby, dividing two integers with `/` returns an integer if both are integers.
❓ Predict Output
intermediate
2:00remaining
What is the output when dividing an integer by a float?
Look at this Ruby code. What will it print?
Ruby
result = 7 / 2.0
puts result
A3.5
B3
C3.0
D2.5
Attempts:
2 left
💡 Hint
When one number is a float, Ruby returns a float result.
🧠 Conceptual
advanced
2:00remaining
What error does this Ruby code raise?
What error will this Ruby code produce when run?
Ruby
num = 5.0
num = num.to_i + "3"
AZeroDivisionError
BNoMethodError
CSyntaxError
DTypeError
Attempts:
2 left
💡 Hint
Adding an integer and a string directly causes a type problem.
❓ Predict Output
advanced
2:00remaining
What is the output of this Ruby code mixing floats and integers?
What will this Ruby code print?
Ruby
a = 10
b = 3
c = a / b.to_f
puts c.class
puts c
A
Integer
3
B
Float
3.3333333333333335
C
Float
3
D
Integer
3.3333333333333335
Attempts:
2 left
💡 Hint
Converting one operand to float changes the division result type.
❓ Predict Output
expert
2:00remaining
What is the output of this Ruby code using Float precision?
Examine this Ruby code. What will it print?
Ruby
x = 0.1 + 0.2
puts x == 0.3
puts x
A
false
0.3
B
true
0.3
C
false
0.30000000000000004
D
true
0.30000000000000004
Attempts:
2 left
💡 Hint
Floating point numbers can have small precision errors.

Practice

(1/5)
1. Which of the following is an example of an Integer in Ruby?
easy
A. "100"
B. 3.14
C. true
D. 42

Solution

  1. Step 1: Understand Integer definition

    An Integer is a whole number without any decimal part.
  2. Step 2: Identify the correct option

    42 is a whole number, so it is an Integer. 3.14 has decimals (Float), "100" is a string, and true is a boolean.
  3. Final Answer:

    42 -> Option D
  4. Quick Check:

    Integer = 42 [OK]
Hint: Integers have no decimal point, floats do. [OK]
Common Mistakes:
  • Confusing strings with numbers
  • Thinking floats are integers
  • Mixing booleans with numbers
2. Which of the following is the correct way to write a float number in Ruby?
easy
A. 5.5
B. 5-5
C. 5..5
D. 5,5

Solution

  1. Step 1: Recall float syntax in Ruby

    Floats use a dot (.) to separate the whole number and decimal parts.
  2. Step 2: Check each option

    5.5 uses a dot correctly. 5,5 uses a comma which is invalid. 5..5 is a range syntax, not a float. 5-5 is subtraction.
  3. Final Answer:

    5.5 -> Option A
  4. Quick Check:

    Float uses dot like 5.5 [OK]
Hint: Floats always use a dot, never a comma. [OK]
Common Mistakes:
  • Using commas instead of dots
  • Confusing ranges with floats
  • Using operators instead of decimal points
3. What will be the output of this Ruby code?
num1 = 10
num2 = 3.0
result = num1 / num2
puts result
medium
A. 3.0
B. 3
C. 3.3333333333333335
D. 3.333

Solution

  1. Step 1: Understand division with Integer and Float

    Dividing an Integer by a Float returns a Float result in Ruby.
  2. Step 2: Calculate 10 / 3.0

    10 divided by 3.0 equals approximately 3.3333333333333335 as a Float.
  3. Final Answer:

    3.3333333333333335 -> Option C
  4. Quick Check:

    Integer / Float = Float result [OK]
Hint: Integer divided by float gives float result. [OK]
Common Mistakes:
  • Expecting integer division truncation
  • Rounding the float result incorrectly
  • Confusing float with string output
4. Find the error in this Ruby code snippet:
num = 7.5
puts num.to_i.to_f
medium
A. SyntaxError due to method chaining
B. No error, output is 7.0
C. RuntimeError because to_i cannot be chained
D. Output is 7.5, no conversion happened

Solution

  1. Step 1: Understand method chaining on numbers

    Ruby allows chaining methods like to_i and to_f on numbers without error.
  2. Step 2: Evaluate the code output

    num.to_i converts 7.5 to 7 (integer), then to_f converts 7 to 7.0 (float). So output is 7.0.
  3. Final Answer:

    No error, output is 7.0 -> Option B
  4. Quick Check:

    Method chaining works, output 7.0 [OK]
Hint: to_i then to_f converts float to integer then float again. [OK]
Common Mistakes:
  • Thinking method chaining causes syntax error
  • Expecting original float output
  • Confusing to_i and to_f effects
5. You want to calculate the average of two numbers in Ruby, where both are Integers. Which code correctly calculates the average as a Float?
a = 8
b = 5
average = ?
hard
A. (a + b) / 2.0
B. (a + b) / 2
C. (a.to_i + b.to_i) / 2
D. a / 2 + b / 2

Solution

  1. Step 1: Understand division with integers and floats

    Dividing an Integer truncates if both operands are integers; dividing by a Float keeps decimal.
  2. Step 2: Check each option for correct average calculation

    (a + b) / 2: 13 (Integer) / 2 (Integer) = 6 (truncated).
    (a + b) / 2.0: 13 / 2.0 = 6.5 (Float).
    (a.to_i + b.to_i) / 2: forces Integers, result 6 (Integer).
    a / 2 + b / 2: 8/2 + 5/2 = 4 + 2 = 6 (Integer divisions).
  3. Final Answer:

    (a + b) / 2.0 -> Option A
  4. Quick Check:

    Divide sum by float 2.0 for float average [OK]
Hint: Divide by 2.0 to keep float result for average. [OK]
Common Mistakes:
  • Dividing by integer causing integer division
  • Converting floats to integers losing decimals
  • Not using float divisor for average
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