14.4 OracleDecimal構造
OracleDecimal
構造は、データベース内のOracle NUMBER
または任意のOracleの数値を表します。
クラスの継承
System.Object
System.ValueType
Oracle.DataAccess.Types.OracleDecimal
宣言
// C# public struct OracleDecimal : IComparable, INullable, IXmlSerializable
要件
プロバイダ | ODP.NET管理対象外ドライバ | ODP.NET管理対象ドライバ |
---|---|---|
アセンブリ |
|
|
ネームスペース |
|
|
.NET Framework |
3.5, 4.5, 4.6, 4.7 |
4.5, 4.6, 4.7 |
スレッド安全性
パブリック静的メソッドはスレッドセーフですが、インスタンス・メソッドではスレッド安全性は保証されません。
備考
.NETのDecimal
データ型では最大28までの精度しか保持できませんが、OracleDecimal
では最大38までの精度を格納できます。精度が28を超える値を持つOracleDecimal
からOracleDecimal.Value
プロパティにアクセスすると、例外がスローされます。OracleDecimal
の実際の値を取得するには、OracleDecimal.ToString()
メソッドを使用します。または、BinData
プロパティにより、OracleDecimal
値をバイト配列として内部Oracle NUMBER
書式で取得する方法があります。
例
// C# using System; using Oracle.DataAccess.Types; class OracleDecimalSample { static void Main(string[] args) { // Illustrates the range of OracleDecimal vs. .NET decimal OracleDecimal decimal1 = OracleDecimal.MinValue; OracleDecimal decimal2 = OracleDecimal.MaxValue; OracleDecimal decimal3 = new OracleDecimal(decimal.MinValue); OracleDecimal decimal4 = new OracleDecimal(decimal.MaxValue); // Print the ranges Console.WriteLine("OracleDecimal can range from\n{0}\nto\n{1}\n", decimal1, decimal2); Console.WriteLine(".NET decimal can range from\n{0}\nto\n{1}", decimal3, decimal4); } }