読者です 読者をやめる 読者になる 読者になる

時と場合によりけり

日々のアップデートとイノベーションに翻弄され彷徨える IT エンジニアの覚書

Swift 3 の剰余(割り算の余り)

Float の場合

細かい話ですが、Swift 3 の剰余についてです。

Swift 2 の場合は、変数の型を Float にした場合、以下のコードで余り1を取得できていたと思うのですが、Swift 3 では truncatingRemainder を使えというエラーが出ました。

let x: Float = 10.0 % 3.0

truncatingRemainder とは何ぞや?というわけでググったところ以下が出てきました。

truncatingRemainder(dividingBy:) - FloatingPoint | Apple Developer Documentation

上記サイトを参考にした、正解コードは以下となります。

let x: Float = 10.0
x.truncatingRemainder(dividingBy: 3.0)

これで1という余りを取得できました。

Int の場合

ついでですが、型が Int の場合は、Swift 3 でも、以下のような今までの書き方で OK のようです。

let x: Int = 10 % 3

以上です。