数値を文字列にして指定桁数に揃えたい場合があります。
足りない桁をゼロで埋めたい時です。
例えば、123という数字を”000123″と変換したい場合です。
数値を文字列にして、頭を0(ゼロ)で埋める方法
数値を文字列にし、頭を0(ゼロ)で埋めるにはStringクラスのFormatメソッドを利用します。
記述例です。
String.Format("{0:000000}", 123);
これは以下のように書くこともできます。
String.Format("{0:D6}", 123);
どちらでも結果は同じですので、好みで使うと良いかと思います。
コードでの使用例と実行結果です。
using System; ...略... string str = String.Format("{0:000000}", 123); Console.WriteLine(str); // 【結果】 // "000123"
Unityで利用する場合
ゲーム開発エンジンのUnityではC#を利用するのですが、Unityで同じことをやる場合、私は以下のように記述しています。
string str = string.Format("{0:000000}", 123); Debug.Log(str);
上記のようにStringをstringとしています。(頭のSが大文字と小文字で異なる)
理由として、最初にusing System;と宣言してしまうとRandomメソッドを使う時にSystem.RandomとUnityEngine.RandomがぶつかってSystem.Randomが呼ばれてしまうということがあります。
ですので、なるべくusing System;を使いたくないためです。
ちなみにstringはSystem.Stringの別名です。
System.String.Format()と書くところをstring.Formatと書くことができるということです。
文字列の頭を埋める場合
また、すでに文字列になっている場合は以下のようにPadLeftメソッドを使って文字列の頭を0(ゼロ)で埋めることもできます。
using System; ...略... string str1 = "123"; string str2 = str1.PadLeft(6, '0'); // 6は桁数 Console.WriteLine(str2); // 【結果】 // "000123"