数値を0埋めや右詰め・左詰めする方法
数値をファイルや帳票に出力する際には、0埋めで出力したり、文字列の幅を固定し右詰めにしたりして等間隔にしたい場合が本当によくあります。
String.Format を使うやり方
String.Formatを使う方法をよく見かけます。
サンプルコード
Module Module1 Sub Main() Dim num As Integer = 1234 Console.WriteLine(String.Format("{0:00000}", 123)) '00123 Console.WriteLine(String.Format("{0:D5}", 123)) '00123 End Sub End Module
ToString を使うやり方
やや少数派な気がしますが、紹介します。
サンプルコード
Module Module1 Sub Main() Console.WriteLine(123.ToString("00000")) '00123 Console.WriteLine(123.ToString("D5")) '00123 End Sub End Module
小数点以下を0埋めする方法
サンプルコード
Module Module1 Sub Main() Dim num As Decimal = 0.1234 Console.WriteLine(String.Format("{0:F5}", 0.123)) '0.12300 Console.WriteLine(String.Format("{0:0.00000}", 0.123)) '0.12300 Console.WriteLine(0.123.ToString("F5")) '0.12300 Console.WriteLine(0.123.ToString("0.00000")) '0.12300 End Sub End Module
0.12300 0.12300 0.12300 0.12300 続行するには何かキーを押してください . . .
右詰め・左詰めする方法
これも比較的よく使われます。
サンプルコード
Module Module1 Sub Main() '右詰め Console.WriteLine("【" + String.Format("{0, 10}", 123) + "】") '左詰め Console.WriteLine("【" + String.Format("{0, -10}", 123) + "】") '右詰め Console.WriteLine("【" + String.Format("{0, 10}", 0.123) + "】") '左詰め Console.WriteLine("【" + String.Format("{0, -10}", 0.123) + "】") End Sub End Module
【 123】 【123 】 【 0.123】 【0.123 】 続行するには何かキーを押してください . . .
コメント