LoginSignup
4
7

【Swift】割り算の余りを求めたい

Posted at

はじめに

ちょー初歩的なことなんですけど、知らなくて焦ったことがあったので記事にしておきます。

何が起きたのか

私は割り算のあまりは%で求められると思っていたのですが、こんなエラーが発生しました。

'%' is unavailable: For floating point numbers use truncatingRemainder instead

あれ、%って使えなくなったの?って思ったんですが違いました。

%が使えるのはIntだけみたいです。

私はそれを知りませんでした。

では、DoubleやFloatなどの浮動小数点型ではどのように余りを求めるのでしょうか?

実装

Int

// ❌
func calcIntRemainder1(dividend: Int, divisor: Int) -> Int {
    return dividend.remainder(dividingBy: divisor)
}
// ✅
func calcIntRemainder2(dividend: Int, divisor: Int) -> Int {
    return dividend % divisor
}

Double

// ✅
func calcDoubleRemainder1(dividend: Double, divisor: Double) -> Double {
    return dividend.remainder(dividingBy: divisor)
}

// ❌
func calcDoubleRemainder2(dividend: Double, divisor: Double) -> Double {
    return dividend % divisor
}

Float

// ✅
func calcFloatRemainder1(dividend: Float, divisor: Float) -> Float {
    return dividend.remainder(dividingBy: divisor)
}

// ❌
func calcFloatRemainder2(dividend: Float, divisor: Float) -> Float {
    return dividend % divisor
}

おわり

多分初歩的なことなので、今回覚えられてよかったです。

4
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
7