OracleDecimal構造
OracleDecimal構造は、データベース内のOracle NUMBERまたは任意のOracleの数値を表します。
クラスの継承
System.Object
System.ValueType
Oracle.DataAccess.Types.OracleDecimal
宣言
// C# public struct OracleDecimal : IComparable, INullable, IXmlSerializable
要件
| プロバイダ | ODP.NET管理対象外ドライバ | ODP.NET管理対象ドライバ | ODP.NET Core |
|---|---|---|---|
|
アセンブリ |
|
|
|
|
ネームスペース |
|
|
|
|
.NET Framework |
システム要件を参照してください |
システム要件を参照してください |
- |
|
.NET (Core) |
- |
- |
システム要件を参照してください |
スレッド安全性
パブリック静的メソッドはスレッドセーフですが、インスタンス・メソッドではスレッド安全性は保証されません。
備考
.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);
}
}