Start learning free

LESSON 23 OF 677 · CALCULATIONS WITH NUMBERS

Floor Division in Scala

Lesson

TL ; DR:

  • When both numbers are Ints, the / operator drops the fractional part and gives the quotient:

    println(10 / 2) // Output: 5
    println(15 / 4) // Output: 3
    println(20 / 3) // Output: 6
    
  • It can also be used with variables:

    val a = 3
    val b = 7
    
    println(20 / a) // Output: 6
    println(b / a) // Output: 2
    


Full lesson:

Remember how we first learn about the division of two integer numbers in primary school?

The quotient is the number of times a division is completed fully, while the remainder is the amount left that doesn't entirely go into the divisor.

Here are some examples:

10 / 2 = quotient 5, remainder 0
15 / 4 = quotient 3, remainder 3
20 / 3 = quotient 6, remainder 2

Floor division

Scala has no separate floor-division operator. When both operands are Ints, the normal division operator (/) returns the integral part of the result (the quotient):

println(10 / 2) // Output: 5
println(15 / 4) // Output: 3
println(20 / 3) // Output: 6

It can also be used with variables:

val a = 3
val b = 7

println(20 / a) // Output: 6
println(b / a) // Output: 2

If one of the numbers is a Double, the result keeps its decimals: println(20 / 3.0) prints 6.666666666666667. Also, Math.floor works on Doubles and returns a Double, so println(Math.floor(3.9)) prints 3.0, not 3. For a whole-number quotient, use / on two Ints.


Modulo

The modulo operator (%) calculates the remainder of dividing two values:

println(10 % 2) // Output: 0
println(15 % 4) // Output: 3
println(20 % 3) // Output: 2

// Can be used with variables:
val c = 2
val d = 4

println(d % c) // Output: 0
println(11 % d) // Output: 3

Quotient and remainder

In programming, we combine both these concepts to get the quotient and remainder of some division:

// Let's divide 26 by 3:
val quotient = 26 / 3
val remainder = 26 % 3

println(quotient) // Output: 8
println(remainder) // Output: 2

Assignment
Follow the Coding Tutorial and let's practice with quotient and remainder!


Hint
Look at the examples above if you get stuck.


STEP 1 OF 1
    Ctrl + Enter to check