カスタム数値書式指定文字列 [VB 2010]

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

   カスタム数値書式指定文字列

カスタム数値書式指定文字列を使えば、自由な書式に編集することができます。

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

データ位置

標準数値書式指定文字列と同様で、複数のデータが指定された場合に、データ位置を特定するために使います。先頭位置は 0 になります。

たとえば、num3とnum4を整数変数とすると、("{0,6:d}{1,5:d}", num3, num4)なら、1番目の{0,6:d}はnum3、2番目の{1,5:d}はnum4の表示方法を示します。

桁数

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

カスタム書式指定文字列

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

標準数値書式指定文字列はこちら

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

Module Module1

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

        ' 【ゼロプレースホルダ】書式指定子の部分は0埋め
        ' 書式指定子:0
        ' 01-->____9876
        Console.WriteLine("01-->{0,8:0}",num1)
        ' 桁数が書式指定子より長ければその部分は空白
        ' 02-->__009876  03-->__000012
        Console.WriteLine("02-->{0,8:000000}",num1)
        Console.WriteLine("03-->{0,8:000000}",num2)
        ' 書式指定子に、00を指定すると1未満四捨五入
        ' 04-->______12  05-->______13
        Console.WriteLine("04-->{0,8:00}",num2)
        Console.WriteLine("05-->{0,8:00}",num3)

        ' 【桁プレースホルダ】書式指定子の部分は空白
        ' 書式指定子:#
        ' 06-->____9876
        Console.WriteLine("06-->{0,8:#}",num1)
        ' 桁数が書式指定子より長ければその部分は空白
        ' 07-->____9876
        Console.WriteLine("07-->{0,8:######}",num1)
        ' 書式指定子に ## を指定すると1未満四捨五入
        ' 08-->______12  09-->______13
        Console.WriteLine("08-->{0,8:##}",num2)
        Console.WriteLine("09-->{0,8:##}",num3)

        ' 【小数点】.で小数点の位置が決まる
        ' 書式指定子:.
        ' 10-->____12.5 11-->___12.50 12-->__12.499
        Console.WriteLine("10-->{0,8:##.0}",num2)
        Console.WriteLine("11-->{0,8:##.00}",num2)
        Console.WriteLine("12-->{0,8:##.000}",num2)

        ' 【桁区切り記号】0または #の間に指定
        ' 書式指定子:,
        ' 13-->___9,876  14-->___9,876
        Console.WriteLine("13-->{0,8:0,0}",num1)
        Console.WriteLine("14-->{0,8:#,0}",num1)

        ' 【数値位取り】小数点の左にひとつ以上指定
        ' 書式指定子:,( ,ひとつに付き1000で割った値)
        ' 15-->______30  16-->__30,000
        Dim num4 As Integer = 30000000
        Console.WriteLine("15-->{0,8:0,0,,}",num4)
        Console.WriteLine("16-->{0,8:0,0,}",num4)

        ' 【パーセントプレースホルダ】パーセント値表示
        ' 書式指定子:%(100倍して%を付加)
        ' 17-->___55.5%  18-->__55.50%
        Dim num5 As Double = 0.555
        Console.WriteLine("17-->{0,8:#.##%}",num5)
        Console.WriteLine("18-->{0,8:#.#0%}",num5)
    End Sub

End Module

【修了】今回で「 超やさしい VB2010/2008 文法」は最終回です。長い間お疲れ様でした。

次は、フォームを使ったプログラム「簡易電卓を作成する」に挑戦してください。


超やさしい VB2010/2008 文法 メニュー一覧に戻る


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