Scala의 모듈로 연산자
이 기사에서는 모듈로 연산자(%)를 사용하여 작업하는 방법과 Scala에서 모듈로와 관련된 몇 가지 다른 방법을 배웁니다.
Scala의 모듈로 연산자
모듈로 연산자 %는 Scala에서 두 숫자를 나눌 때 나머지, 특히 부호 있는 나머지를 제공하는 데 사용됩니다.
통사론:
val z = x % y
z는 x를 y로 나눈 나머지를 포함합니다. 더 잘 이해하기 위해 예를 살펴보겠습니다.
예제 코드:
object MyClass {
    def main(args: Array[String]) {
       val x = 15
       val y = 4
       val z = x % y
       println(z)
    }
}
출력:
3
15를 4로 나누면 나머지가 3이 되어 변수 z에 저장되어 콘솔에 출력되고,
Scala의 floorMod() 메서드
Scala에서 Math floorMod()는 전달된 인수의 바닥 모듈로를 반환하는 데 사용됩니다. 이 메서드를 오버로드하여 int 및 long 인수를 사용할 수 있습니다.
제수가 0이면 ArithmeticException 나누기 0이 발생합니다.
통사론:
Math.floorMod(data_type x, data_type y)
여기서 a 매개변수는 피제수이고 y 매개변수는 제수입니다. 이러한 매개변수는 int 또는 long일 수 있습니다.
이 메서드는 (x - (floorDiv(x,y)*y)의 바닥 모듈로를 반환합니다.
예제 코드:
object MyClass {
    def main(args: Array[String]) {
       val x = 15
       val y = 4
       val z = Math.floorMod(x,y)
       println(z)
    }
}
출력:
3
일반적인 질문 중 하나는 Scala에서 floorMod() 메서드와 % 연산자의 차이점은 무엇입니까?입니다.
우리의 인수, 즉 피제수와 제수가 양수인 경우 둘 다 동일하지만 둘 중 하나 또는 둘 다 음수인 경우에는 다르게 동작합니다. 이것은 주로 메서드가 (x - (floorDiv(x,y)*y)의 바닥 모듈로를 반환하고 floorDiv() 메서드에 응답하기 때문에 발생합니다.
간단히 말해서 floorMod() 메서드는 divisor와 동일한 부호를 제공합니다. 즉, y 부호가 무엇이든 결과를 반환할 때 동일한 부호를 따릅니다.
예제 코드:
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))
    }
}
출력:
first:
-2
1
second:
2
-1
Third:
-1
-1
Scala의 %(y:Float) 메서드
Scala에서 %(y:Float)는 double을 float 값으로 나눈 나머지를 반환하려는 경우에 사용됩니다.
통사론:
double_value.%(y : Float)
예제 코드:
object MyClass {
    def main(args: Array[String]) {
      val rem = (16.50012.toDouble).%(13:Float)
      println("The remainder is")
      println(rem)
    }
}
출력:
The remainder is
3.500119999999999
