プライマリ・コンテンツに移動
Oracle® Data Provider for .NET開発者ガイド
ODAC 12.2c リリース1 (12.2.0.1) for Microsoft Windows
E88311-03
目次へ移動
目次
索引へ移動
索引

前
次

OracleDecimal構造

OracleDecimal構造は、データベース内のOracle NUMBERまたは任意のOracleの数値を表します。

クラスの継承

System.Object

  System.ValueType

    Oracle.DataAccess.Types.OracleDecimal

宣言

// C#
 public struct OracleDecimal : IComparable, INullable, IXmlSerializable

要件

プロバイダ ODP.NET管理対象外ドライバ ODP.NET管理対象ドライバ

アセンブリ

Oracle.DataAccess.dll

Oracle.ManagedDataAccess.dll

ネームスペース

Oracle.DataAccess.Types

Oracle.ManagedDataAccess.Types

.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);
  }
}