.net column

.NET開発者のためのブログメディア
計算記号

C#で数値と文字列の変換をする。ParseやToStringの使い方

2020年09月23日

アプリケーションを作成する中で、数値と文字列は必ずといってよいほど扱います。
その際に、数値を文字列として扱いたい場面やその逆も多く発生するのではないでしょうか。
この記事では、数値と文字列を変換する方法を紹介しますので、ぜひ参考にしてみてください。

PG
入力された文字列をint型のリストに格納したいのですが、そのまま代入するとエラーとなってしまいます。
PM
文字列はString型なのでデータ型の不一致でエラーとなっているようですね。それでは、int型に変換して格納してみましょう。

実行環境
・Windows 10 Home
・Visual Studio Community 2019

ParseとConvertによる文字列から数値の変換

C#で文字列から数値への変換を行う場合、ParseメソッドやConvertクラスで実現できます。

Parseメソッドによる置換

数値を格納するデータ型としてintやdoubleなどが存在しますが、それらにはParseメソッドが存在します。Parseメソッドは引数の文字列を受け取り、変換した数値を返しますが、文字列に数値以外が指定された場合は例外を発生させます。

“123”は正常に置換されましたが、”10a”にてParseが失敗したため、例外メッセージが出力されていますね。

不正な文字列が指定された場合でも例外を発生させたくない場合は、TryParseメソッドを使用すると良いでしょう。変換可否をbool型で返してくれます。

例外メッセージの代わりに、戻り値がfalseのメッセージが出力されています。

Convertクラスによる置換

Convertクラスには、様々な数値型への変換メソッドが用意されています。

Parseの場合と同じく、数値の文字列は正しく変換され、不正な文字列では例外が発生していますね。

ParseメソッドとConvertクラスの違い

ParseとConvertで置換した場合の一番の違いはnullの扱いとなります。引数でnullが指定された場合、それぞれどのような動きとなるのでしょうか。

引数にnullを渡した場合、Parseメソッドでは例外が発生しており、Convertクラスでは0が返っています。

ToStringメソッドによる数値から文字列の変換

C#で数値から文字列への変換を行う場合、ToStringメソッドで実現できます。

int型からString型に変換して出力できていますね。
ToStringメソッドでは、書式指定を利用して0埋めをすることも可能です。

ToStringメソッドの引数に「0000」を指定したことにより、不足桁数分が「0」で埋められて「0010」が出力されていますね。

PG
なるほど、このような便利なメソッドが複数あったのですね。たくさん覚えてコーディングに活用していきたいです。
PM
そうですね。便利なメソッドを使いこなしていくと、品質の高いコードをスピーディーに書くことができると思います。

数値と文字列の変換方法は複数ある

今回は、数値と文字列の変換方法を紹介しました。ToStringは書式指定によって、様々な変換が可能となっており大変便利です。ParseメソッドやTryParseメソッド、Convertクラスについても、使用方法がシンプルで分かりやすいと思うので、メソッドの使い方を覚えて、ぜひ活用してみてください。

>>>C#の案件を探すならFEnet .NET Navi


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

求人一覧

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)