VB.netで0埋め文字列の作成をするには?作成方法や削除を解説
”
VB.netでの0埋めについて
今回は、「VB.netでの0埋め」についてご説明します。
VB.netでは、文字列関数を使用して、0埋め文字列を作成することができます。また、0埋めした文字列から数値へ変換することも可能です。
VB.netでの0埋めに興味のある方は、ぜひご覧下さい。
0埋め文字列の作成(toString)
「VB.net」で0埋め文字列を作成するには、「toStringメソッド」の引数にフォーマットを指定します。
“”0000000000″”とすると、10桁で0埋めの文字列になります。
実際のソースコードを見てみましょう。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
public class compiler
shared function Main as integer
Dim number As Integer = 12345
Console.WriteLine(""4けた0埋め :"" & number.ToString(""0000""))
Console.WriteLine(""5けた0埋め :"" & number.ToString(""00000""))
Console.WriteLine(""6けた0埋め :"" & number.ToString(""000000""))
Console.WriteLine(""7けた0埋め :"" & number.ToString(""0000000""))
Console.WriteLine(""8けた0埋め :"" & number.ToString(""00000000""))
Console.WriteLine(""9けた0埋め :"" & number.ToString(""000000000""))
Console.WriteLine(""10けた0埋め:"" & number.ToString(""0000000000""))
return 0
End function
end class
|
実行結果は以下のようになります。
1
2
3
4
5
6
7
|
4けた0埋め :12345
5けた0埋め :12345
6けた0埋め :012345
7けた0埋め :0012345
8けた0埋め :00012345
9けた0埋め :000012345
10けた0埋め:0000012345
|
指定された桁で、0埋め文字列が作成できていることが分かります。見て分かるように、指定桁数よりも数字が大きい場合でも、切り捨てなどはされません。
たとえば、「ToString」の引数に””D10″”としても、10桁で0埋めの文字列になります。
実際のソースコードを見てみましょう。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
public class compiler
shared function Main as integer
Dim number As Integer = 12345
Console.WriteLine(""4けた0埋め :"" & number.ToString(""D4""))
Console.WriteLine(""5けた0埋め :"" & number.ToString(""D5""))
Console.WriteLine(""6けた0埋め :"" & number.ToString(""D6""))
Console.WriteLine(""7けた0埋め :"" & number.ToString(""D7""))
Console.WriteLine(""8けた0埋め :"" & number.ToString(""D8""))
Console.WriteLine(""9けた0埋め :"" & number.ToString(""D9""))
Console.WriteLine(""10けた0埋め:"" & number.ToString(""D10""))
return 0
End function
end class
|
実行結果は以下のようになります。
1
2
3
4
5
6
7
|
4けた0埋め :12345
5けた0埋め :12345
6けた0埋め :012345
7けた0埋め :0012345
8けた0埋め :00012345
9けた0埋め :000012345
10けた0埋め:0000012345
|
実行結果が先ほどと同じになりました。
このように、「toStringメソッド」の引数にフォーマットを指定すると、0埋めの文字列を作成できます。
0埋め文字列の作成(Format)
「VB.net」の「String.Formatメソッド」でも、0埋めの文字列を作成できます。この場合に指定する引数は、前述の「toStringメソッド」と似ています。
実際のソースコードを見てみましょう。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
public class compiler
shared function Main as integer
Dim number As Integer = 12345
Console.WriteLine(""9けた0埋め :"" & String.Format(""{0:000000000}"", number))
Console.WriteLine(""10けた0埋め :"" & String.Format(""{0:0000000000}"", number))
Console.WriteLine(""9けた0埋め :"" & String.Format(""{0:D9}"", number))
Console.WriteLine(""10けた0埋め :"" & String.Format(""{0:D10}"", number))
return 0
End function
end class
|
実行結果は以下のようになります。
1
2
3
4
|
9けた0埋め :000012345
10けた0埋め :0000012345
9けた0埋め :000012345
10けた0埋め :0000012345
|
「String.Formatメソッド」では、幅指定かつ0埋めの文字列を作成できます。
実際のソースコードを見てみましょう。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
public class compiler
shared function Main as integer
Dim number As Integer = 12345
Console.WriteLine(""10けた幅で8桁0埋め:"" & String.Format(""{0, 10:D8}"", number))
Console.WriteLine(""10けた幅で7桁0埋め:"" & String.Format(""{0, 10:D7}"", number))
return 0
End function
end class
|
実行結果は以下のようになります。
1
2
|
10けた幅で8桁0埋め: 00012345
10けた幅で7桁0埋め: 0012345
|
このように「String.Formatメソッド」でも、0埋めの文字列の作成をすることができます。
0埋め文字列の作成(PadLeft)
さらに、「VB.net」の「PadLeftメソッド」でも、0埋めの文字列を作成できます。
実際のソースコードを見てみましょう。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
public class compiler
shared function Main as integer
Dim number As Integer = 12345
Console.WriteLine(""10けた0埋め右詰め:"" & number.ToString().PadLeft(10, ""0""c))
Console.WriteLine(""9けた0埋め右詰め :"" & number.ToString().PadLeft(9, ""0""c))
Console.WriteLine(""10けた*埋め右詰め:"" & number.ToString().PadLeft(10, ""*""c))
return 0
End function
end class
|
実行結果は以下のようになります。
1
2
3
|
10けた0埋め右詰め:0000012345
9けた0埋め右詰め :000012345
10けた*埋め右詰め:*****12345
|
このメソッドでは、PadLeftで指定した桁数と文字で文字列を埋めることが可能になります。ここでは、「0埋め」をしたいので、第2引数の文字に””0″”を指定しています。
さらに、「char型」を指定する必要があるので、””0″”のあとに””c””をつけています。もちろん、0以外の文字を指定することも可能です。
0埋めの削除
次に、0埋めで作成した文字列から、0埋め部分を削除した文字列を作成してみましょう。この場合は、VB.netのValメソッドで数字に変換し、CStrメソッドで文字列に変換します。
実際のソースコードを見てみましょう。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
public class compiler
shared function Main as integer
Dim output As String
Dim output2 As String
Dim number As Integer = 12345
output = number.ToString(""D10"")
Console.WriteLine( ""10けた0埋め:"" & output)
output2 = CStr(Val(output))
Console.WriteLine( ""0埋め削除後:"" & output2)
return 0
End function
end class
|
実行結果は以下のようになります。
1
2
|
10けた0埋め:0000012345
0埋め削除後:12345
|
このように、0埋めで作成した文字列から0埋め部分を削除した文字列を作成できます。
数値に変換
「VB.net」の「Parseメソッド」で、0埋め文字列を数値に変換できます。
実際のソースコードを見てみましょう。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
public class compiler
shared function Main as integer
Dim output As String
Dim output2 As Integer
Dim number As Integer = 12345
output = number.ToString(""D10"")
Console.WriteLine( ""10けた0埋め:"" & output)
output2 = Integer.Parse(output)
Console.WriteLine( ""Parse後 :"" & output2)
return 0
End function
end class
|
実行結果は以下のようになります。
1
2
|
10けた0埋め:0000012345
Parse後 :12345
|
このように、Parseメソッドで、0埋め文字列を数値に変換できます。
VB.netのソースコードを書いてみよう
いかがでしたでしょうか。「VB.net」で0埋め文字列を作成するには、「toStringメソッド」や「Formatメソッド」、および「PadLeftメソッド」を使用します。
さらに、0埋めした文字列部分のみを削除したり、数値に変換することもできます。
ぜひご自身でVB.netのソースコードを書いて、理解を深めてください。
“
FEnet.NETナビ・.NETコラムは株式会社オープンアップシステムが運営しています。
株式会社オープンアップシステムはこんな会社です
秋葉原オフィスには株式会社オープンアップシステムをはじめグループのIT企業が集結!
数多くのエンジニアが集まります。

-
スマホアプリから業務系システムまで
スマホアプリから業務系システムまで開発案件多数。システムエンジニア・プログラマーとしての多彩なキャリアパスがあります。
-
充実した研修制度
毎年、IT技術のトレンドや社員の要望に合わせて、カリキュラムを刷新し展開しています。社内講師の丁寧なサポートを受けながら、自分のペースで学ぶことができます。
-
資格取得を応援
スキルアップしたい社員を応援するために資格取得一時金制度を設けています。受験料(実費)と合わせて資格レベルに合わせた最大10万円の一時金も支給しています。
-
東証プライム上場企業グループ
オープンアップシステムは東証プライム上場「株式会社オープンアップグループ」のグループ企業です。
安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。
株式会社オープンアップシステムに興味を持った方へ
株式会社オープンアップシステムでは、開発系エンジニア・プログラマを募集しています。
年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
まずは話だけでも聞いてみたい場合もOK。お気軽にご登録ください。


新着案件New Job
-
開発エンジニア/東京都品川区/【WEB面談可】/在宅ワーク
月給29万~30万円東京都品川区(大崎駅) -
遠隔テストサービス機能改修/JavaScript/東京都港区/【WEB面談可】/テレワーク
月給45万~60万円東京都港区(六本木駅) -
病院内システムの不具合対応、保守/東京都豊島区/【WEB面談可】/テレワーク
月給30万~30万円東京都豊島区(池袋駅) -
開発/JavaScript/東京都豊島区/【WEB面談可】/テレワーク
月給50万~50万円東京都豊島区(大塚駅) -
債権債務システム追加開発/東京都文京区/【WEB面談可】/在宅勤務
月給62万~67万円東京都文京区(後楽園駅) -
PMO/東京都豊島区/【WEB面談可】/在宅勤務
月給55万~55万円東京都豊島区(池袋駅)