Unityアプリ開発で「リスト表示でアイテム5個毎に線を引く」という実装をする時に
リストのindexの値が5の倍数かどうかを判定する必要があったのでメモ。
〇〇の倍数かを判定する
まずコードを書く前に5の倍数かどうかを判定するロジックを理解する必要がありました。(数学があまり得意じゃないので..)
参考になったのが以下の記事でした。
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など桁数が異なってしまうので一応。)
あと、string文字列の最後の値を取得して'0'か'5'かをチェックしてます。
注意点として、string文字列の1文字ずつ取得する場合、char型になるので、"0"、"5"ではなく'0'、'5'にしないといけないようです。