PR

[Unity][C#]数値を右詰め、0埋め(ゼロ埋め)、空白埋め、小数点以下の桁数を固定で文字列化するには?

Unity

はじめに

Unityでアプリ制作している時に数値を右詰め0埋め(ゼロ埋め)空白埋め小数点以下の桁数を固定等をして文字列化する時があり、忘れないようにするため自分用のメモです。

環境

  • Unity 2021.1.10f1

小数点以下の桁数を固定

小数点以下をを固定して表示したい場合は以下のようにします。

    double num = 123.4;

    Debug.Log(num);
    // 123.4
    Debug.Log(num.ToString("F3"));
    // 123.400
    Debug.LogFormat("{0:F3}", num);
    // 123.400

空白埋め

数値を空白埋めで表示したい場合は以下のようにします。

    int num1 = 123;

    Debug.Log(num1);
      // 123
    Debug.Log(num1.ToString().PadLeft(5));
    //   123
    Debug.LogFormat("{0, 5}", num1);
    //   123


    double num2 = 123.4;

    Debug.Log(num2);
    // 123.4
    Debug.Log(num2.ToString("F3").PadLeft(10));
    //    123.400

0埋め(ゼロ埋め)

数値を空白埋めで表示したい場合は以下のようにします。

    int num1 = 123;

    Debug.Log(num1);
    // 123
    Debug.Log(num1.ToString().PadLeft(5, '0'));
    // 00123
    Debug.LogFormat("{0:D5}", num1);
    // 00123


    double num2 = 123.4;

    Debug.Log(num2);
    // 123.4
    Debug.Log(num2.ToString("F3").PadLeft(10, '0'));
    // 000123.400

右詰め

数値を右詰めで文字列化する場合はpadRight()を利用します。

    int num1 = 123;

    Debug.Log(num1);
    // 123
    Debug.Log(num1.ToString().PadLeft(5));
    //   123
    Debug.LogFormat("{0, 5}", num1);
    //   123


    double num2 = 123.4;

    Debug.Log(num2);
    // 123.4
    Debug.Log(num2.ToString("F3").PadLeft(10));
    //    123.400
    Debug.LogFormat("{0, 10:F3}", num2);
    //    123.400

さいごに

時々使うものって「あれ?どうやるんだっけ?」ってなりますよね?

おすすめ参考書

コメント

タイトルとURLをコピーしました