【Unity】数値を3桁毎にカンマやその他の記号で区切る【C#】

数値をカンマで3桁区切り
スポンサーリンク

Unityでアプリを作っていると、色々なところで数字を表示するシーンが出てくると思います。しかし数字の表示は、桁数の多いものを普通に表示するとちょっと見難かったりします

「1000000」

これだとパッと見て数値が把握しにくいですよね。そこで、お金の表示などで用いられる3桁毎に「 , (カンマ)」を打ち込んで区切る方法を使って、見やすい形式で数値を表示する方法についてまとめたいと思います。

「1000000」→「1,000,000」

また、カンマだけでなく自身のアプリ表示に合うように、特定の記号に置き換える方法についてもまとめたいと思います。

「123456789」→「123-456-789」

こんな人におすすめ

・数字の表示を見やすくしたい
・Unityの数字表示について知っておきたい

3桁毎にカンマを入力

3桁毎にカンマを入力する方法は非常に簡単です。文字列変換の「ToString」を使って表示を整えます

■表示サンプル

int num = 1000000;
Debug.Log(num.ToString("N0"));

■実行結果

3桁区切りの結果

このように「変数名.ToString(“N0”)」を使うと、変数に設定されている数値に3桁毎の区切りを付けて文字列として表示することが可能です。

注意点として以下のようにfloat型を「N0(エヌゼロ)」で指定すると、少数第一位が四捨五入され実行結果が「1,001」になります。

float num = 1000.555f;
Debug.Log(num.ToString("N0"));

「N0」を「N2」などに変えると、少数第3位が四捨五入され表示形式が変わる(結果は「1,000.56」になる)ので、使う場合は桁数について注意しながら使ってください!

3桁毎に特定の記号を入力

では3桁毎にカンマを入力することの応用として、3桁毎に任意の記号を入力してみたいと思います。と言っても置き換えを使っているだけなので簡単にできます。

■置き換えのサンプル

int num = 123456789;
Debug.Log(num.ToString("N0").Replace(",","-"));

■実行結果

特定の記号への置き換え結果

先ほどの「変数名.ToString(“N0”)」の後ろに、置き換えのために「.Replace(“,”,”置き換え文字”)」を付けています。サンプル内の「 – 」を好きな記号に変更すれば、「 , 」がその記号に置き換わって表示されます!

まとめ

以上が数値を見やすくするために、3桁毎でカンマで区切る方法についてでした!

数値はスコア表示や所持金の表示など多くの場所で出てきます。少しでも視認性を高めてしっかりとユーザーが把握しやすい環境を整えていきたいですね。

■その他おすすめの記事
・アプリを作る時に最初にやるべきUnityの設定について