String.FormatメソッドとFormat関数

Visual Basic ADO.NETデータベースプログラミング

 すぐ使えるADO.NET

Stringクラスには、文字列操作のメソッドが数多くあり、たいへん便利です。ここでは、Formatメソッドを紹介します。

String.Formatメソッド

 {N,桁数:書式} 

Formatメソッドの第一パラメータには、書式を指定します。書式は、{N,桁数:書式}という文字列を使って整形後の文字列を表現します。Nは、データ位置を特定します。書式は複数記述できます。書式がひとつの時は、たとえば、{0,桁数:書式}となります。

桁数のみを指定した時は右詰で、マイナス符号付の桁数の時は、左詰になります。桁数は省略できます。

  Dim str As String
  ' ●表示エリア9桁を確保して右詰で表示
  ' str = "   12,345"
  str = String.Format("{0,9:#,##0}", 12345) 

  ' str = "右詰9桁表示:   12,345" 
  str = String.Format("右詰9桁表示:{0,9:#,##0}", 12345)  

  ' ●表示エリア9桁を確保して左詰で表示
  ' str = "12,345   " 
  str = String.Format("{0,-9:#,##0}", 12345) 

  ' ●表示エリア桁数を省略した場合
  ' str = "12,345"
  str = String.Format("{0:#,##0}", 12345)
		

複数書式の時は、順に{0,桁数:書式}、{1,桁数:書式}、{2,桁数:書式}、~、{N,桁数:書式}というように記述します。

  ' ●"{"と"}"の前後に任意の文字列を記述し、複数の書式を指定して表示
  ' str = "1番目:12,345、2番目: 13%"
  Dim i As Integer = 12345
  Dim d2 As Double = 0.125

str = String.Format("1番目:{0,5:#,##0}、2番目:{1,4:#0%}", i, d2)

Format関数

 数値書式 

#,##0 と #0% の例を紹介します。数値を丸めると、四捨五入になります。文字列は数値に変換する必要があります。

  ' str = "#,##0"
  Dim str As String
  str = Format("12345", "#,##0")

  ' "12345"を数値に変換する必要があります。
  ' 実行結果:str = "12,345"
  str = Format(CInt("12345"), "#,##0")

' 実行結果:str = "1,235" str = Format(1234.5, "#,##0") ' 実行結果:str = "13%" Dim d1 As Double = 0.125 str = Format(d1, "#0%")
Copyright© すぐ使えるADO.NET. All rights reserved.