数値を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 】
続行するには何かキーを押してください . . .
コメント