【VB.NET】数値を0埋めや右詰め・左詰めする方法

VB.NET
この記事は約4分で読めます。

数値を0埋めや右詰め・左詰めする方法

数値をファイルや帳票に出力する際には、0埋めで出力したり、文字列の幅を固定し右詰めにしたりして等間隔にしたい場合が本当によくあります。

String.Format を使うやり方

String.Formatを使う方法をよく見かけます。

サンプルコード

Module Module1
    Sub Main()

        Dim num As Integer = 1234

        Console.WriteLine(String.Format("{0:00000}", 123))
        '00123

        Console.WriteLine(String.Format("{0:D5}", 123))
        '00123

    End Sub

End Module
「D5」の「D」は10進数(Decimal)を表す書式指定子です。
String.Formatのインデックス番号の後にコロン(:)で区切って指定します。

ToString を使うやり方

やや少数派な気がしますが、紹介します。

サンプルコード

Module Module1
    Sub Main()

        Console.WriteLine(123.ToString("00000"))
        '00123

        Console.WriteLine(123.ToString("D5"))
        '00123

    End Sub

End Module

小数点以下を0埋めする方法

サンプルコード

Module Module1
    Sub Main()

        Dim num As Decimal = 0.1234

        Console.WriteLine(String.Format("{0:F5}", 0.123))
        '0.12300

        Console.WriteLine(String.Format("{0:0.00000}", 0.123))
        '0.12300

        Console.WriteLine(0.123.ToString("F5"))
        '0.12300

        Console.WriteLine(0.123.ToString("0.00000"))
        '0.12300

    End Sub

End Module
0.12300
0.12300
0.12300
0.12300
続行するには何かキーを押してください . . .
「F5」の「F」は(Float)を表す書式指定子です。
インデックス番号の後にコロン(:)で区切って指定します。

右詰め・左詰めする方法

これも比較的よく使われます。

サンプルコード

Module Module1
    Sub Main()

        '右詰め
        Console.WriteLine("【" + String.Format("{0, 10}", 123) + "】")

        '左詰め
        Console.WriteLine("【" + String.Format("{0, -10}", 123) + "】")

        '右詰め
        Console.WriteLine("【" + String.Format("{0, 10}", 0.123) + "】")

        '左詰め
        Console.WriteLine("【" + String.Format("{0, -10}", 0.123) + "】")

    End Sub

End Module
【       123】
【123       】
【     0.123】
【0.123     】
続行するには何かキーを押してください . . .

コメント

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