今回は、VB.NETのFormat関数を使って、指定の書式に変換する方法についてご紹介します。
Format関数とは
VB.NETのFormat関数は、与えた値を指定した書式文字列に従って文字列へ変換するための関数です。
数値や日付・時刻など、さまざまな型に対応しており、簡単な構文で書式指定を行うことができます。
VB6との互換性を保つために用意されている関数でもあり、幅広い用途で利用可能です。
数値のフォーマット例
数値を見やすく表示したい場合に、Format関数はとても便利です。
小数点の位置や桁区切り、パーセント表示など、状況に応じて多彩な書式を指定できます。
小数点以下を固定桁数で表示
小数点以下を特定の桁数で表示する場合の書式例です。
1 2 3 4 |
Dim num As Double = 1234.5678 ' 小数点以下2桁まで表示 Dim fixedPoint As String = Format(num, "0.00") Console.WriteLine(fixedPoint) ' 結果は "1234.57" となる |
1234.57
カンマ区切り
大きな数値にカンマを入れて読みやすくしたい場合の例です。
1 2 3 4 |
Dim largeNum As Double = 1234567.89 ' カンマ区切りにしつつ、小数点以下2桁表示 Dim commaSeparated As String = Format(largeNum, "#,##0.00") Console.WriteLine(commaSeparated) ' 結果は "1,234,567.89" となる |
1,234,567.89
パーセント表示
数値をパーセント表記に変換する場合の例です。
1 2 3 |
Dim ratio As Double = 0.75 Dim percent As String = Format(ratio, "0.0%") Console.WriteLine(percent) ' 結果は "75.0%" となる |
75.0%
通貨表示
実行環境のカルチャ設定によって通貨マークが変わる例です。
1 2 3 |
Dim amount As Double = 1234.56 Dim currency As String = Format(amount, "C") Console.WriteLine(currency) ' 例: "¥1,234" や "$1,234.56" など |
日付・時刻のフォーマット例
VB.NETのFormat関数では、日付や時刻の表示形式も柔軟に指定することができます。
以下に代表的な例を示します。
シンプルな日付表示
年月日だけを表示する場合の例です。
1 2 3 |
Dim today As Date = Date.Now Dim simpleDate As String = Format(today, "yyyy/MM/dd") Console.WriteLine(simpleDate) ' 結果例: "2025/02/20" |
日付と時刻を同時に表示
年・月・日とあわせて、時刻も含めて表示する例です。
1 2 3 |
Dim now As Date = Date.Now Dim dateTime As String = Format(now, "yyyy/MM/dd HH:mm:ss") Console.WriteLine(dateTime) ' 実行時刻に応じた日時が表示される |
その他の利用例
Format関数では、数値や日付に限らず、必要に応じて文字列へ補足を加えることも可能です。
以下では数値を文字列に変換しつつ、文字列要素を付与する例を紹介します。
1 2 3 |
Dim total As Double = 1234.56 Dim resultText As String = Format(total, "Total: #,##0.00") Console.WriteLine(resultText) ' 結果は "Total: 1,234.56" となる |
注意点
カルチャ依存があるため、特定の地域向けにフォーマットを固定したい場合はCultureInfoなどの活用を検討してください。
大量のデータをフォーマットする場合、Format関数はパフォーマンス面で不利になる可能性があります。
不正な書式文字列を指定した場合などはエラーハンドリングを行わないと予期せぬ結果を招く可能性があるため、注意が必要です。
VB6との互換性維持のために存在する関数であることから、String.FormatやToStringメソッドなどの利用を検討する選択肢もあります。
まとめ
VB.NETのFormat関数を使うと、数値や日付・時刻を簡単かつ柔軟に書式指定できます。
カルチャ設定や処理速度の観点を踏まえ、目的に合った書式を選択することが重要です。
他のフォーマット手段も比較しながら、最適な方法を選ぶと良いでしょう。