C#のConvert.ToDecimalメソッドで文字列をdecimal型に変換する方法
Convert.ToDecimalメソッドとは
C#のConvert.ToDecimal()メソッドを使用すると、指定した値をdecimal型(10進数)の数値に変換できます。文字列や数値など、さまざまな型の値を金額計算などに適したdecimal型へ変換したい場合に便利です。
文字列をdecimal型に変換する基本の手順
まず、変換元となる文字列を用意します。
string stringVal = "2,345.26";
次に、Convert.ToDecimal()メソッドを使って、この文字列をdecimal型の数値に変換します。
decimal decimalVal;
decimalVal = System.Convert.ToDecimal(stringVal);
それでは、完全なサンプルコードを見てみましょう。
サンプルコード
using System;
public class Demo {
public static void Main() {
decimal decimalVal;
string stringVal = "2,345.26";
decimalVal = System.Convert.ToDecimal(stringVal);
System.Console.WriteLine("String converted to decimal = {0} ", decimalVal);
}
}
実行結果
String converted to decimal = 2345.26
このように、カンマ区切りを含む文字列「2,345.26」がdecimal型の数値「2345.26」に正しく変換されました。
使用時の注意点
Convert.ToDecimal()メソッドを使う際は、以下のポイントに注意してください。
- FormatException: 引数の文字列が数値として認識できない形式の場合にスローされます。
- OverflowException: 変換後の値がdecimal型の範囲を超える場合にスローされます。
- nullの扱い: 文字列がnullの場合、例外はスローされず「0」が返されます。
- カルチャ依存: 小数点記号や桁区切り記号の解釈は実行環境のカルチャ(地域設定)に依存するため、必要に応じてCultureInfoを明示的に指定すると安全です。
特にユーザー入力など不確定な文字列を扱う場合は、事前にdecimal.TryParse()メソッドで変換できるかどうかを確認する方法も検討するとよいでしょう。
-
C#のDecimal.ToOACurrency()メソッドとは?構文と使い方をサンプルコードで解説
C#のDecimal.ToOACurrency()メソッドは、指定されたDecimal(10進数)の値を、64ビット符号付き整数に格納されるOLEオートメーション通貨(OLE Automation Currency)値へと変換するためのメソッドです。OLEオートメーション通貨は、小数点以下4桁を固定で持つ形式で表現され、元の値が10,000倍された整数として扱われます。そのため、変換結果はlong型(64ビット符号付き整数)として返されます。構文このメソッドの構文は以下の通りです。public static long ToOACurrency (decimal val);パラメータ「val」に
-
C#のConvert.ToDecimal(String, IFormatProvider)メソッドの使い方を解説
C#のConvert.ToDecimal()メソッドは、指定された文字列形式の数値を、カルチャ固有の書式情報に基づいて等価なdecimal型(10進数)の値に変換します。国際化対応アプリケーションで、カルチャごとに異なる数値表現を正しく処理したい場合に役立ちます。構文このメソッドの構文は以下のとおりです。public static decimal ToDecimal (string val, IFormatProvider provider);パラメータ「val」は変換対象の数値が格納された文字列です。「provider」は、カルチャ固有の書式情報を提供するオブジェクトで、CultureInf