AppSeedのアプリ開発ブログ

アプリ開発会社AppSeed(アップシード)開発担当のブログです。iOS、Android、Unity、Cocos2d-xなどアプリ開発関連のTipsや備忘録、アプリ開発に役立つ情報を発信します。

【Unity】intの値が5の倍数かを判定する方法(C#)

https://unity3d.com/files/images/ogimg.jpg?1


Unityアプリ開発で「リスト表示でアイテム5個毎に線を引く」という実装をする時に
リストのindexの値が5の倍数かどうかを判定する必要があったのでメモ。


〇〇の倍数かを判定する


まずコードを書く前に5の倍数かどうかを判定するロジックを理解する必要がありました。(数学があまり得意じゃないので..)
参考になったのが以下の記事でした。

nlab.itmedia.co.jp


こちらの記事によると
https://image.itmedia.co.jp/nl/articles/1805/04/qk_baisu01.jpg

5の倍数は1の位が0か5になる値が5の倍数らしいです。


intの値が5の倍数かを判定する

上記を元にリストのindexが5の倍数かを判定するプログラムを作ってみました↓

//リストアイテムにSetValueでindexをセットする

public void SetValue(int index)
    {
        string st_inde = index.ToString("00000");
        if(st_inde[st_inde.Length - 1] == '0' || st_inde[st_inde.Length - 1] == '5')
        {
            //5の倍数
        }
        else
        {
            //5の倍数ではない
        }
    }

やり方は色々あるかとは思いますが、今回はint型をstringに変換して1桁目の値を判定する形にしました。

「ToString("00000")」で5桁にしたのは送られてくるindexの値の桁数を合わせるためです。
(0と100など桁数が異なってしまうので一応。)

develop.hateblo.jp


あと、string文字列の最後の値を取得して'0'か'5'かをチェックしてます。
注意点として、string文字列の1文字ずつ取得する場合、char型になるので、"0"、"5"ではなく'0'、'5'にしないといけないようです。


teratail.com