VB.NET、C#でゼロ埋めする方法です。
ゼロ埋め(ゼロパディング)とは?
ゼロ埋めとは、数値を文字として表現する場合に、指定された桁数に足りない桁を0で埋める方法です。ゼロパディングとも言います。
- 5桁固定
- 入力:123
- ゼロ埋め→00123
パディングというのが、「詰め物」や「水増し」という意味です。
IT分野では固定長としてデータを扱う時に、不足分を無意味なデータで補う行為を指します。
ゼロで埋めるならゼロパディングですが、別にゼロで埋める必要はありません。
ゼロ埋めの方法
ゼロ埋めする方法はいくつかあります。
- PadLeft
- ToString
- Format
どれでもいい…と言ってしまうと乱暴ですが、好みの問題です。
コーディング規約でパディングの方法が規定されている現場もあると思いますので、それぞれ知識として知っておいたら良いと思います。
実行確認用テストフォーム
- 左側のテキストボックスに数字を入力
- 実行ボタンをクリック
- 右側にゼロ埋めされた結果を表示
PadLeft、ToString、Formatのソースコードは以下です。
PadLeft
StringクラスのPadLeftメソッドを用いてゼロ埋めする方法。
'【VB.NET】
Private Sub btnPadLeft_Click(sender As Object, e As EventArgs) Handles btnPadLeft.Click
'PadLeftで5桁ゼロ埋め
txtPadLeftAfter.Text = txtPadLeftBefore.Text.PadLeft(5, "0"c)
End Sub
//【C#】
private void btnPadLeft_Click(object sender, EventArgs e)
{
//PadLeftで5桁ゼロ埋め
txtPadLeftAfter.Text = txtPadLeftBefore.Text.PadLeft(5, '0');
}
ToString
ToStringでゼロ埋めする方法。
'【VB.NET】
Private Sub btnToString_Click(sender As Object, e As EventArgs) Handles btnToString.Click
'Integer型の変数に確保(ToStringを使うため)
Dim iNum As Integer = Integer.Parse(txtToStringBefore.Text)
'ToStringで5桁ゼロ埋め
txtToStringAfter.Text = iNum.ToString("00000")
End Sub
//【C#】
private void btnToString_Click(object sender, EventArgs e)
{
//Integer型の変数に確保(ToStringを使うため)
int iNum = Int32.Parse(txtToStringBefore.Text);
//ToStringで5桁ゼロ埋め
txtToStringAfter.Text = iNum.ToString("00000");
}
Format
StringクラスのFormatメソッドでゼロ埋めする方法。
'【VB.NET】
Private Sub btnFormat_Click(sender As Object, e As EventArgs) Handles btnFormat.Click
'Integer型の変数に確保(Formatを使うため)
Dim iNum As Integer = Integer.Parse(txtFormatBefore.Text)
'Formatで5桁ゼロ埋め
txtFormatAfter.Text = String.Format("{0:D5}", iNum)
End Sub
//【C#】
private void btnFormat_Click(object sender, EventArgs e)
{
//Integer型の変数に確保(Formatを使うため)
int iNum = Int32.Parse(txtFormatBefore.Text);
//Formatで5桁ゼロ埋め
txtFormatAfter.Text = String.Format("{0:D5}", iNum);
}
参考