数値の先頭の桁を0で埋めて桁揃えする

C#で数値の先頭の桁を0で埋めて桁揃えするコードを紹介します。

概要

数値の先頭の桁を0で埋めるためには、数値を文字列に変換する必要があります。Formatメソッドを利用することで数値を0で桁梅した文字列に変換できます。

書式

Formatメソッドの第一引数の書式設定文字列に下記の書式で記述します。

標準の数値書式指定文字列を利用した場合の記述です。下記の記述は0番目のインデックスを8桁で表現し先頭の桁を0で埋めます。

"{0:d4}"


カスタム数値書式指定文字列を利用した場合の記述です。下記の記述は0番目のインデックスを8桁で表現し先頭の桁を0で埋めます。

"{0:00000000}"

プログラム例

UI

下図のUIを作成します。複数行のテキストとボタンを2つ配置します。
数値の先頭の桁を0で埋めて桁揃えする:画像1

コード

下記のコードを記述します。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace NumericFormatDemo
{
  public partial class FormZeroFill : Form
  {
    public FormZeroFill()
    {
      InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
      int value = 12860000;
      textBox_Output.Text += string.Format("{0:00000000}\r\n", value);

      value = 2500;
      textBox_Output.Text += string.Format("{0:00000000}\r\n", value);

      value = 0;
      textBox_Output.Text += string.Format("{0:00000000}\r\n", value);

      Int64 bigvalue = 9999988888;
      textBox_Output.Text += string.Format("{0:00000000}\r\n", bigvalue);
    }

    private void button2_Click(object sender, EventArgs e)
    {
      int value = 250;
      textBox_Output.Text += string.Format("{0:d4}\r\n", value);

      value = 8;
      textBox_Output.Text += string.Format("{0:d4}\r\n", value);

      value = 18;
      textBox_Output.Text += string.Format("{0:d4}\r\n", value);

      value = 15000;
      textBox_Output.Text += string.Format("{0:d4}\r\n", value);
    }
  }
}

解説

button1 のクリックイベントのメソッドではカスタム数値書式指定文字列を利用したFormatメソッドにより、8桁で先頭の桁を0で埋めた文字列への変換をしています。button2 では標準の数値書式指定文字列を利用し4桁で先頭の桁を0で埋めた文字列へ変換しています。

実行結果

プロジェクトを実行します。下図のウィンドウが表示されます。

数値の先頭の桁を0で埋めて桁揃えする:画像2

[button1]をクリックします。数値の先頭の桁が0で埋められ、8桁で表示されます。ただし、8桁より大きい数値は8桁以上で表示されます。
数値の先頭の桁を0で埋めて桁揃えする:画像3

[button2]をクリックします。数値の先頭の桁が0で埋められ、4桁で表示されます。ただし、4桁より大きい数値は4桁以上で表示されます。
数値の先頭の桁を0で埋めて桁揃えする:画像4


AuthorPortraitAlt
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
作成日: 2018-11-13
Copyright © 1995–2025 iPentec all rights reserverd.