El Operador Modulo en Scala

Suraj P 21 junio 2023
  1. el operador de módulo en Scala
  2. el método floorMod() en Scala
  3. el método %(y:Float) en Scala
El Operador Modulo en Scala

En este artículo, aprenderemos a trabajar con el operador de módulo (%) y algunos otros métodos relacionados con el módulo en Scala.

el operador de módulo en Scala

El operador de módulo % se usa para dar el resto, específicamente el resto con signo, cuando dos números se dividen en Scala.

Sintaxis:

val z = x % y

z contiene el resto cuando x se divide por y. Veamos un ejemplo para entenderlo mejor.

Código de ejemplo:

object MyClass {

    def main(args: Array[String]) {

       val x = 15
       val y = 4
       val z = x % y
       println(z)
    }
}

Producción :

3

Cuando 15 se divide por 4, el resto es 3, que se almacena en la variable z y luego se imprime en la consola,

el método floorMod() en Scala

En Scala, Math floorMod() se usa para devolver el módulo de piso de los argumentos pasados. Podemos sobrecargar este método para tomar un argumento int y long.

Si el divisor es cero, arroja la Excepción Aritmética dividido por cero.

Sintaxis:

Math.floorMod(data_type x, data_type y)

Aquí, el parámetro a es el dividendo y el parámetro y es el divisor. Estos parámetros pueden ser int o long.

Este método devuelve el módulo de suelo de (x - (floorDiv(x,y)*y).

Código de ejemplo:

object MyClass {
    def main(args: Array[String]) {

       val x = 15
       val y = 4
       val z = Math.floorMod(x,y)
       println(z)
    }
}

Producción :

3

Una pregunta común es: ¿cuál es la diferencia entre el método floorMod() y el operador % en Scala?.

Ambos son iguales cuando nuestros argumentos, es decir, el dividendo y el divisor, son positivos, pero se comportan de manera diferente cuando uno o ambos son negativos. Esto sucede principalmente porque el método devuelve el módulo de suelo de (x - (floorDiv(x,y)*y), y depende del método floorDiv() para su respuesta.

En palabras simples, el método floorMod() da el mismo signo que su divisor, es decir, cualquiera que sea el signo y, se seguirá el mismo signo al devolver el resultado.

Código de ejemplo:

object MyClass {

    def main(args: Array[String]) {

       println("first: ")
       println(Math.floorMod(+4, -3));
       println((+4 % -3))

        println("second: ")

       println(Math.floorMod(-4, +3))
       println((-4 % +3))

        println("Third: ")
       println(Math.floorMod(-4, -3))
       println((-4 % -3))

    }
}

Producción :

first:
-2
1
second:
2
-1
Third:
-1
-1

el método %(y:Float) en Scala

En Scala, %(y:Float) se usa cuando queremos devolver el resto cuando un doble se divide por un valor flotante.

Sintaxis:

double_value.%(y : Float)

Código de ejemplo:

object MyClass {

    def main(args: Array[String]) {

      val rem = (16.50012.toDouble).%(13:Float)
      println("The remainder is")
      println(rem)

    }
}

Producción :

The remainder is
3.500119999999999
Autor: Suraj P
Suraj P avatar Suraj P avatar

A technophile and a Big Data developer by passion. Loves developing advance C++ and Java applications in free time works as SME at Chegg where I help students with there doubts and assignments in the field of Computer Science.

LinkedIn GitHub