.NET TIPS

数値を0埋めで文字列にするには?(ToString編)[C#、VB]

デジタルアドバンテージ 遠藤 孝信
2009/09/17

 「TIPS:数値を右詰めや0埋めで文字列化するには?」では、Stringクラス(System名前空間)のFormatメソッドによる数値から文字列への変換について解説しているが、0埋めを行った文字列にするだけなら整数型が持つToStringメソッドでも可能であり、こちらの方がよりシンプルに行える。

 Formatメソッドでは、文字列中に埋め込んだ書式指定項目を置き換えるためインデックス番号や中カッコが必要となるが、ToStringクラスではメソッドの引数に書式を指定するだけである。

ToStringメソッドによる0埋め文字列化

 例えば、ある数値を8けたで0埋めにしたい場合、ToStringメソッドの引数には、「"D8"」あるいは「"00000000"」を指定する。このように、引数に指定する文字列は「D+けた数」とするか、けた数分だけ「0」を並べればよい。

 以下に実際の記述例を示す。

using System;

class ZeroPadding {
  static void Main() {

    string output;
    int myNumber = 12345;

    output = "8けた0埋め:" + myNumber.ToString("00000000");
    Console.WriteLine(output);
    // 出力:8けた0埋め:00012345

    output = "8けた0埋め:" + myNumber.ToString("D8");
    Console.WriteLine(output);
    // 出力:8けた0埋め:00012345
  }
}
Imports System

Class ZeroPadding
  Shared Sub Main

    Dim output As String
    Dim myNumber As Integer = 12345

    output = "8けた0埋め:" & myNumber.ToString("00000000")
    Console.WriteLine(output)
    ' 出力:8けた0埋め:00012345

    output = "8けた0埋め:" & myNumber.ToString("D8")
    Console.WriteLine(output)
    ' 出力:8けた0埋め:00012345

  End Sub
End Class
ToStringメソッドにより数値を0埋めで文字列化(上:C#、下:VB)

 なお、ToStringメソッドによる文字列化ではFormatメソッドのような“右詰め(右寄せ)”はできないが、必要であれば以下のようにStringクラスのPadLeftメソッドを併用すればよい。

output = "8けた右詰め:" + myNumber.ToString().PadLeft(8);
Console.WriteLine(output);
// 8けた右詰め:   12345
output = "8けた右詰め:" & myNumber.ToString().PadLeft(8)
Console.WriteLine(output)
' 8けた右詰め:   12345
PadLeftメソッドにより8けた右詰めで文字列化(上:C#、下:VB)

 PadLeftメソッドは、引数で指定した文字数になるように、文字列の左側を空白で埋めるメソッドである。End of Article

カテゴリ:クラス・ライブラリ 処理対象:文字列
使用ライブラリ:Stringクラス(System名前空間)
関連TIPS:数値を右詰めや0埋めで文字列化するには?

この記事と関連性の高い別の.NET TIPS
[ASP.NET AJAX]MultiHandleSliderコントロールで複数ハンドルのスライダを作成するには?
[ASP.NET AJAX]Sliderコントロールでスライダを定義するには?
[ASP.NET AJAX]EditorコントロールでWebページにWYSIWYGなテキストエリアを設置するには?
適切に処理されなかった例外をキャッチするには?
[ASP.NET AJAX]JavaScriptからEditorコントロールを生成するには?
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「.NET TIPS」

TechTargetジャパン

Insider.NET フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

キャリアアップ

- PR -
@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH