C#のConvertクラスを使ったデータ型変換の基本と実例
C#のConvertクラスには、基本データ型を別の基本データ型へ変換するためのメソッドが多数用意されています。この記事では、代表的な変換メソッドであるConvert.ToBoolean()、Convert.ToDouble()、Convert.ToDecimal()の使い方を、構文・サンプルコード・実行結果とあわせてわかりやすく解説します。
Convert.ToBoolean()メソッドとは
Convert.ToBoolean()メソッドは、指定した値を等価なBoolean(真偽値)に変換します。文字列「true」や「false」をbool型に変換したい場合などに利用されます。
構文
public static bool ToBoolean (string val, IFormatProvider provider);
パラメータの意味は以下の通りです。
- val: TrueStringまたはFalseStringの値を含む文字列
- provider: カルチャ固有の書式情報を提供するオブジェクト(IFormatProvider)
サンプルコード
それでは、Convert.ToBoolean()メソッドを実装した例を見てみましょう。
using System;
using System.Globalization;
public class Demo {
public static void Main(){
CultureInfo cultures = new CultureInfo("en-US");
String str = "true";
Console.WriteLine("Converted bool value...");
bool res = Convert.ToBoolean(str, cultures);
Console.Write("{0}", res);
}
}
実行結果
上記のコードを実行すると、次のような出力が得られます。
Converted bool value... True
Convert.ToDouble()メソッドとは
Convert.ToDouble()メソッドは、指定された数値の文字列形式を、カルチャ固有の書式情報を使用して、等価な倍精度浮動小数点数(double)に変換します。小数点記号や桁区切り記号がカルチャによって異なる場合に特に有効です。
構文
public static double ToDouble (string val, IFormatProvider provider);
パラメータの意味は以下の通りです。
- val: 変換対象の数値を含む文字列
- provider: カルチャ固有の書式情報を提供するオブジェクト
サンプルコード
続いて、Convert.ToDouble()メソッドを実装した例です。
using System;
using System.Globalization;
public class Demo {
public static void Main(){
String val = "876876, 878";
NumberFormatInfo formatProvider = new NumberFormatInfo();
formatProvider.NumberDecimalSeparator = ", ";
formatProvider.NumberGroupSeparator = ".";
formatProvider.NumberGroupSizes = new int[] { 2 };
Console.WriteLine("Converted Decimal value...");
double res = Convert.ToDouble(val, formatProvider);
Console.Write("{0}", res);
}
}
実行結果
上記のコードを実行すると、次のような出力が得られます。
Converted Decimal value... 876876.878
Convert.ToDecimal()メソッドとは
Convert.ToDecimal()メソッドは、指定された数値の文字列形式を、カルチャ固有の書式情報を使用して、等価なdecimal型の数値に変換します。金額計算など精度が求められる場面で活用できます。
構文
public static decimal ToDecimal (string val, IFormatProvider provider);
パラメータの意味は以下の通りです。
- val: 変換対象の数値を含む文字列
- provider: カルチャ固有の書式情報を提供するオブジェクト
サンプルコード
最後に、Convert.ToDecimal()メソッドを実装した例を見てみましょう。
using System;
using System.Globalization;
public class Demo {
public static void Main(){
CultureInfo cultures = new CultureInfo("en-US");
String val = "8787";
Console.WriteLine("Converted Decimal value...");
decimal res = Convert.ToDecimal(val, cultures);
Console.Write("{0}", res);
}
}
実行結果
上記のコードを実行すると、次のような出力が得られます。
Converted Decimal value... 8787
まとめ
C#のConvertクラスを使えば、文字列からbool型、double型、decimal型への変換を簡単かつ安全に行えます。IFormatProviderを指定することで、カルチャごとに異なる書式(小数点記号や桁区切りなど)にも柔軟に対応できるのが大きな特徴です。用途に応じて適切な変換メソッドを選択し、堅牢なコードを書きましょう。
-
C#のConsoleクラスとは?主要プロパティの使い方を実例付きで解説
C#のConsoleクラスは、コンソールアプリケーションにおける標準入力・標準出力・標準エラー出力の各ストリームを表すクラスです。テキストの表示や入力の読み取りだけでなく、文字色や背景色の変更、カーソル位置やサイズの制御など、コンソール操作に関するさまざまな機能が提供されています。ここでは、Consoleクラスの代表的なプロパティの使い方を、サンプルコードと実行結果とあわせて解説します。Console.CursorLeftプロパティコンソール上のカーソル位置(左端から数えた列位置)を変更するには、Console.CursorLeftプロパティを使用します。サンプルコードusing System
-
C#のDebugクラスとDebuggerクラスとは?主なプロパティと使い方を解説
C#でコードをデバッグする際には、デバッグ用のメソッドやプロパティが必要になります。これらを提供しているのがDebugクラスです。 一方、Debuggerクラスは、実行中のプログラムとデバッガとの通信を確立するために使用されます。 Debugクラスとは Debugクラスは、System.Diagnostics名前空間に属する静的クラスです。デバッグ用の出力やアサーションなど、コードの検証に役立つ機能を提供します。構文は以下の通りです。 public static class Debug Debugクラスの主なプロパティは次の通りです。 番号 プロパティと説明 1 AutoFlus