標準数値書式指定文字列 [VB 2010]

Visual Basic 2010/2008 超やさしい文法

   標準数値書式指定文字列

標準数値書式指定文字列を使うと、たとえば、3桁ごとにカンマを表示したり、マイナスの表示位置を調整したり、数値を編集表示(出力)することができます。サンプルを確認すれば、良く分かると思います。

{データ位置,桁数:書式指定文字列}

データ位置

複数のデータが指定された場合に、データ位置を特定するために使います。先頭位置は 0 になります。

たとえば、num1とnum2を整数変数とすると、("{0,6:d}{1,5:d}", num1, num2)の場合、1番目の{0,6:d}はnum1、2番目の{1,5:d}はnum2の表示方法を示しています。

桁数

表示桁数を指定します。表示データが指定桁数より短ければ、空き桁位置は空白になります。実データのほうが長ければ、指定桁数は無視されて、データの桁数が使われます。正の整数を指定すると右詰、負の整数を指定すると左詰になります。

標準書式指定文字列

数値書式指定文字列として、標準数値書式指定文字列と、カスタム書式指定文字列が用意されています。カスタム書式指定文字列を使用すれば、独自の書式で表示することができます。

カスタム書式指定文字列はこちら

標準数値書式指定文字列は、書式指定子のアルファベット1文字(大文字でも小文字でも同意)と精度指定子の0~99の組合せで指定します。

サンプルで利用方法を確認してください。

Module Module1

    Sub Main()
        Dim num1 As Integer = 9876
        Dim num2 As Double = 12.499

        ' 【通貨】
        ' 書式指定子:C
        ' 精度指定子:小数部の桁数
        ' 01-->\9876.0  02-->\12.50
        Console.WriteLine("01-->{0,8:C1}",num1)
        Console.WriteLine("02-->{0,8:C2}",num2)

        ' 【10進数】整数のみ
        ' 書式指定子:D
        ' 精度指定子:最小桁数(最小桁数未満は0埋め)
        ' 03-->__009876  04-->____9876
        Console.WriteLine("03-->{0,8:D6}",num1)
        ' 精度指定子省略時は、桁数まで空白で埋める
        Console.WriteLine("04-->{0,8:D}",num1)

        ' 【指数】
        ' 書式指定子:E
        ' 精度指定子:小数部の桁数(省略すると 6)
        ' 05-->9.876000E+003  06-->1.2499E+001
        Console.WriteLine("05-->{0,8:E}",num1)
        Console.WriteLine("06-->{0,8:E4}",num2)

        ' 【固定小数点】
        ' 書式指定子:F
        ' 精度指定子:小数部の桁数(省略時は既定値)
        ' 07-->_9876.00   08-->_12.4990
        Console.WriteLine("07-->{0,8:F}",num1)
        Console.WriteLine("08-->{0,8:F4}",num2)

        ' 【一般】最も簡潔な形式で表示
        ' 書式指定子:G
        ' 精度指定子:小数部の桁数(省略時は既定値)
        ' 09-->____9876  10-->__12.499
        Console.WriteLine("09-->{0,8:G}",num1)
        Console.WriteLine("10-->{0,8:G}",num2)

        ' 【数値】区切り表示(既定値は3桁ごとの ,)
        ' 書式指定子:N
        ' 精度指定子:小数部の桁数(省略時は既定値)
        ' 11-->___9,876   12-->__12.499
        Console.WriteLine("11-->{0,8:N0}",num1)
        Console.WriteLine("12-->{0,8:N3}",num2)

        ' 【通貨】パーセント値表示(桁数指定は無視)
        ' 書式指定子:P
        ' 精度指定子:小数部の桁数(省略時は既定値)
        ' 13-->__55.50%
        Dim num3 As Double = 0.555
        Console.WriteLine("13-->{0,8:P2}",num3)

        ' 【16進数】整数のみ
        ' 書式指定子:X
        ' 精度指定子:最小桁数(最小桁数未満は0埋め)
        ' 14-->00002694
        Console.WriteLine("14-->{0,8:X8}",num1)
    End Sub

End Module

次回は、カスタム数値書式指定文字列 について説明します。


Copyright© やさしいVB2010/2008 ADO.NET. All rights reserved.