このエントリーをはてなブックマークに追加


数値を指定した桁数分ゼロで埋めたい

int(Int32, Integer), decimal(Decimal)のToStringメソッドを使ったゼロパディングのサンプルコードを以下に紹介します。

関連サイト

関連記事

動作確認環境

  • Windows 10 ver.1909
  • Visual Studio 2019
  • .NET Core
  • コンソールアプリケーション

ToStringを使った整形

使用するメソッドは数値型のToString(string format)を使って整形します。
System.Int32のToString(string format)は以下のようになっています。(MSサイトからの抜粋)

  • 指定した書式を使用して、このインスタンスの数値を、それと等価な文字列形式に変換します。
    public string ToString (string format);
  • パラメーター
    format String 標準またはカスタムの数値書式指定文字列。

ToString(string format)のサンプルコード

以下に ToString(string format)を使った C#, Visual Basic(VB)のサンプルコードを紹介します。
decimal, int, uint (Decimal, Integer, UInteger)を対象にToString(string format)メソッドを使ってみます。
尚、サンプルコードでは数値を5桁ゼロパディングします。
5桁のゼロパディングしたい場合は、0を5つ続けるか、D5のようにDの後に値を設定します。
decimalでは、D数値のフォーマット指定は例外が発生しました。
formatについては、以下のインクを参照ください。

C#

using System;

class Program
{
    static void Main(string[] args)
    {
        decimal pd = 123;
        decimal md = -234;
        int i = -345;
        uint ui = 456;

        Console.WriteLine("decimal");
        Console.WriteLine("{0} : {1}",pd, pd.ToString("00000"));
        Console.WriteLine("{0} : {1}", md, md.ToString("00000"));
        Console.WriteLine("int, uint");
        Console.WriteLine("{0} : {1}", i, i.ToString("00000"));
        Console.WriteLine("{0} : {1}", i, i.ToString("D5"));
        Console.WriteLine("{0} : {1}", ui, ui.ToString("00000"));
        Console.WriteLine("{0} : {1}", ui, ui.ToString("D5"));
    }
}

実行結果

01.png

Visual Basic(VB)

Imports System

Module Program
    Sub Main(args As String())

        Dim pd As Decimal = 123
        Dim md As Decimal = -234
        Dim i As Integer = -345
        Dim ui As UInteger = 456

        Console.WriteLine("Decimal")
        Console.WriteLine("{0} : {1}", pd, pd.ToString("00000"))
        Console.WriteLine("{0} : {1}", md, md.ToString("00000"))
        Console.WriteLine("Integer, UInteger")
        Console.WriteLine("{0} : {1}", i, i.ToString("00000"))
        Console.WriteLine("{0} : {1}", i, i.ToString("D5"))
        Console.WriteLine("{0} : {1}", ui, ui.ToString("00000"))
        Console.WriteLine("{0} : {1}", ui, ui.ToString("D5"))
    End Sub
End Module

実行結果

02.png

以上、System.Int32.ToString(string format), System.Decimal.ToString(format)を使ったゼロパディングのサンプルコードでした。



添付ファイル: file02.png 7件 [詳細] file01.png 5件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2020-01-02 (木) 21:20:37