Hi, I'm Ask INFA!
What would you like to know?
ASK INFAPreview
Please to access Ask INFA.

目次

Search

  1. はじめに
  2. 関数リファレンス
  3. 定数
  4. 演算子
  5. 日付
  6. 関数
  7. システム変数
  8. データ型リファレンス

関数リファレンス

関数リファレンス

計算におけるDecimal値とDouble値

計算におけるDecimal値とDouble値

計算結果が最大精度を超える値になる場合、DecimalとDoubleのデータ型を計算に使用すると、精度の損失が発生する可能性があります。
高精度を無効にすると、
データ統合
では、10進数値が倍精度浮動小数点数に変換されます。Decimal値が15桁を超える精度を持つ場合には、精度の損失が発生します。例えば、Decimal(20,0)を使って数値40012030304957666903を渡すマッピングがあるとします。高精度を無効にすると、
データ統合
は、10進数値を倍精度浮動小数点数に変換し、4.00120303049577 x 10
19
を渡します。
最大28桁の精度のDecimalデータ型をサポートするトランスフォーメーションでは、Decimalデータ型を使用し、高精度を有効にして、最大28桁の精度を確保します。
計算結果が、最大許容桁より大きい精度を持つ値にならない限り、精度の損失は発生しません。この場合、
データ統合
は、結果を倍精度浮動小数点数として格納します。
ルックアップ条件や結合条件など、等価条件で使用するデータにDoubleデータ型を使用しないでください。
次の表に、
データ統合
が、
[高精度を有効にする]
詳細セッションプロパティの設定内容に基づいて10進値を処理する方法を示します。
フィールドのデータ型
精度
高精度が無効
高精度が有効
Decimal
0~15
Double
Decimal
Decimal
15~28
Double
Decimal
Decimal
28より大きい
Double
Double
高精度を有効にすると、
データ統合
では式関数の数値定数が10進数に変換されます。高精度を有効にしない場合、
データ統合
では数値定数が倍精度浮動小数点数に変換されます。
数値の最大精度を、トランスフォーメーションに応じて、28または38桁よりも大きくすることができます。トランスフォーメーション関数を使用して計算またはトランスフォーメーションを実行する前に、大きい数字を切り詰めるか、丸めます。