玄関へお回り下さい。
書式設定(フォーマット)に関する関数等の使用例 (10個)          (SNo.008)
Format     書式指定文字列式に含まれる指示に従って書式設定された文字列を返します
FormatCurrency コントロールパネルで定義されている通貨記号を使って文字列に書式設定して返す。
FormatDateTime 日時の値を表す文字列式を返します。
FormatNumber  数値形式の文字列に書式設定して返す文字列処理関数です。

FormatPercent  パーセント記号 (%) が付加されたパーセント形式 (100 で乗算した) の文字列に書式設定
PadLeft     指定した文字列の文字数になるまで左側に空白または指定した文字を埋め込みます
PadRight    
指定した文字列の文字数になるまで、指定した Unicode 文字または空白を右側に埋め込みます

String.Format  指定した String の書式項目を、指定した Object インスタンスの値と等価のテキストに置換する
ToString    このインスタンスの数値を、それと等価な文字列形式に変換します。

Double.Parse  数値の文字列形式を倍精度浮動小数点数に変換(3桁区切り等の書式設定を取り除く)  

使用コントロール Button1  〜 Button10
その他条件 WindowsXP(Vista) Visual Basic 2005(VB2008)
 
★ Format 関数    

Private Sub Button1_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles Button1.Click
'Format 関数    [名前空間 : Microsoft.VisualBasic]
    '書式指定文字列 (String) 式に含まれる指示に従って書式設定された文字列を返します。
    Debug.WriteLine(Microsoft.VisualBasic.Format(1234.5, "###.#0"))   '結果  1234.50
    Debug.WriteLine(Microsoft.VisualBasic.Format(1234.5, "Standard")) '結果  1,234.50
    'この他 VB6.0 同様色々の書式が設定できますので詳しくはヘルプ参照
End Sub
 
★ FormatCurrency 関数
 
Private Sub Button2_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles Button2.Click
'FormatCurrency 関数    [名前空間 : Microsoft.VisualBasic]
    'システムの [コントロール パネル] で定義されている通貨記号を使って
    '通貨形式の文字列に書式設定して返す文字列処理関数です。
    Dim myDebt As Double = -123456.7
    Debug.WriteLine(Microsoft.VisualBasic.FormatCurrency(myDebt, 2, _
          TriState.True, TriState.UseDefault, TriState.UseDefault)) '結果  -\123,456.70
    Debug.WriteLine(Microsoft.VisualBasic.FormatCurrency(myDebt, 2, _
          TriState.False, TriState.True, TriState.False))           '結果  (\123456.70)
End Sub

★ FormatDateTime メソッド

Private Sub Button3_Click(ByVal sender As System.Object, _
                         
ByVal e As System.EventArgs) Handles Button3.Click
'FormatDateTime 関数    [名前空間 : Microsoft.VisualBasic]
    '日時の値を表す文字列式を返します。
    Debug.WriteLine(Microsoft.VisualBasic.FormatDateTime( _
                DateTime.Now, DateFormat.GeneralDate))     
'結果  2005/08/31 20:26:12
    Debug.WriteLine(Microsoft.VisualBasic.FormatDateTime( _
                DateTime.Now, DateFormat.LongDate))         
'結果  2005年8月31日
    Debug.WriteLine(Microsoft.VisualBasic.FormatDateTime( _
                DateTime.Now, DateFormat.ShortDate))       
'結果  2005/08/31
    Debug.WriteLine(Microsoft.VisualBasic.FormatDateTime( _
                DateTime.Now, DateFormat.LongTime))         
'結果  20:26:13
    Debug.WriteLine(Microsoft.VisualBasic.FormatDateTime( _
                DateTime.Now, DateFormat.ShortTime))       
'結果  20:26
    Debug.WriteLine(DateTime.Now)                           
'結果  2005/08/31 20:26:13
End Sub

★ FormatNumber 関数

Private Sub Button4_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles Button4.Click
'FormatNumber 関数  [名前空間 : Microsoft.VisualBasic]
    '数値形式の文字列に書式設定して返す文字列処理関数です。
    Dim myDebt As Double = -123456.7
    Debug.WriteLine(Microsoft.VisualBasic.FormatNumber(myDebt, 2, _
            TriState.True, TriState.UseDefault, TriState.UseDefault)) '結果  -123,456.70
    Debug.WriteLine(Microsoft.VisualBasic.FormatNumber(myDebt, 2, _
            TriState.False, TriState.True, TriState.False))          '結果  (123456.70)
End Sub
 
★ FormatPercent 関数

Private Sub Button5_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles Button5.Click
'FormatPercent 関数     [名前空間 : Microsoft.VisualBasic]
    'パーセント記号 (%) が付加されたパーセント形式 (100 で乗算した) の
    '文字列に書式設定して返す文字列処理関数です。
    Dim myDebt As Double = 0.5675
    Debug.WriteLine(Microsoft.VisualBasic.FormatPercent(myDebt, 2, _
                    TriState.True, TriState.True, TriState.True))     '結果  56.75%
    Debug.WriteLine(Microsoft.VisualBasic.FormatPercent(myDebt, 1, _
                    TriState.False, TriState.False, TriState.False))  '結果  56.8%
End Sub
 
String.PadLeft メソッド

Private Sub Button6_Click(ByVal sender As System.Object, _
                         
ByVal e As System.EventArgs) Handles Button6.Click
'String.PadLeft メソッド    [名前空間 : System]
    'このインスタンス内の文字を右寄せし、指定した文字列の文字数になるまで
    '左側に空白または指定した Unicode 文字を埋め込みます。
   
Dim str1 As String = "ABCD"
   
Dim str2 As String = "1234"
    Debug.WriteLine("[" & str1.PadLeft(10) & "]")   
'結果 [ ABCD]
    Debug.WriteLine(str2.PadLeft(10, "0"))         
'結果  0000001234
End Sub

String.PadRight メソッド

Private Sub Button7_Click(ByVal sender As System.Object, _
                         
ByVal e As System.EventArgs) Handles Button7.Click
'String.PadRight メソッド    [名前空間 : System]
    'この文字列の文字を左寄せし、指定した文字列の文字数になるまで
    '指定した Unicode 文字または空白を右側に埋め込みます。
   
Dim str1 As String = "ABCD"
   
Dim str2 As String = "1234"
    Debug.WriteLine("[" & str1.PadRight(10) & "]")   
'結果 [ABCD ]
    Debug.WriteLine(str2.PadRight(10, "0"))           
'結果  1234000000
End Sub

String.Format メソッド

Private Sub Button8_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles Button8.Click
'String.Format メソッド     [名前空間 : System]
    '指定した String の書式項目を、指定した Object 
    'インスタンスの値と等価のテキストに置換します。
    '先頭および末尾の中かっこ文字 '{' および '}' は必須です。
    Debug.WriteLine(String.Format("{0:#,###.0}", 1234.23))      '結果 1,234.2
    Debug.WriteLine(String.Format("{0:0,0.0}", 1234.23))        '結果 1,234.2
    Debug.WriteLine(String.Format("\{0:0,0}", 1234.23))         '結果 \1,234
    Debug.WriteLine(String.Format("合 計 = \{0:#,###} 円です", 1234.23)) 
                         '結果 合 計 = \1,234 円です


    Debug.WriteLine(String.Format("{0:0000}", 12))          '結果 0012
    Debug.WriteLine(String.Format("{0:0.00%}", 0.2345))     '結果 23.45%
    Debug.WriteLine(String.Format("#,###.0", 1234.23))      '結果 #,###.0 と表示される
'     Debug.WriteLine(String.Format("{#,###.0}", 1234.23))  '結果 エラーが発生

    Debug.WriteLine(String.Format("今日は、{0}月{1}日で{2}曜日です。", "5", "15", "土"))
    '結果 今日は、5月15日で土曜日です。

    '表示領域12桁で右詰で表示
    Debug.WriteLine(String.Format("{0,12:#,##0.00}", 1234.2))        '結果= 1,234.20
    Debug.WriteLine(String.Format("合計 : {0,12:#,##0.00}", 1234.2)) '結果=合計 : 1,234.20
    '複数のデータを表示する
    Debug.WriteLine(String.Format("小計={0,5:#,##0}  合計={1,5:#,##0}  総合計={2,5:#,##0}" _
                    , 1230, 4560, 5790))    '結果=小計=1,230 合計=4,560 総合計=5,790
End Sub

★ ToString メソッド
このインスタンスの数値を、それと等価な文字列形式に変換します。
 
Private Sub Button9_Click(ByVal sender As System.Object, _
                         
ByVal e As System.EventArgs) Handles Button9.Click
'ToString メソッド  [名前空間 : System]
    'このインスタンスの数値を、それと等価な文字列形式に変換します。
   
Dim nd As Double
    nd = 12345.6

    Debug.WriteLine(nd.ToString("C"))       
'結果  \12,346
    nd = 0.678
    Debug.WriteLine(nd.ToString("P"))       
'結果  67.80%
End Sub

上記以外の書式指定文字や使用法はMSDNの下記を調べて下さい。

★ 3桁区切り等の書式を取り除く

Private Sub Button10_Click(ByVal sender As System.Object, _
                           ByVal e As System.EventArgs) Handles Button10.Click
'Double.Parse メソッド  [名前空間 : System]
    '数値の文字列形式を、それと等価な倍精度浮動小数点数に変換します。
    '3桁区切り等の書式を取り除く
    Dim s As String = "12,345,678.78"
    Debug.WriteLine(Double.Parse(s, Globalization.NumberStyles.Number)) '結果  12345678.78

    '又は
    Debug.WriteLine(CDbl(s))    '結果  12345678.78
    '下記ではだめです。
    Debug.WriteLine(Val(s))     '結果  12
End Sub

  





2004/05/15
2005/08/29


VBレスキュー(花ちゃん)
VB.NET2003  VB2005