C プログラムでのパック 10 進数データの使用

C 言語のみ
パック 10 進数データ・タイプ表現には、整数部分と小数部分が含まれています。 ILE C コンパイラーでは、ISO C の拡張としてパック 10 進数データ・タイプがサポートされます。
注: これは厳密には C データ・タイプです。 bcd クラスで C++ 10 進数サポートが提供されます。 ヘッダー・ファイルは bcd.h です。 詳しくは、「ILE C/C++ 解説書」を参照してください。
パック 10 進数データ・タイプを使用して、以下を行うことができます。
  • 特に金融計算におけるビジネスおよび商用アプリケーションで、大きな数量を正確に表す。 例えば、小数点に続く 2 桁によって、ドルの小数部分を正確に表すことができます。
    注: 浮動小数点演算を使用する必要はありません。 浮動小数点は、多くの場合、以下のような数値を使用する科学および工学での計算により適しています。
    • 最大のパック 10 進数変数が保管できるよりもはるかに大きい
    • 最小のパック 10 進数よりもはるかに小さいが、商用に十分な精度がない
  • パック 10 進数メンバーを持つタイプ定義、配列、構造体、および共用体を宣言する。 パック 10 進数変数に対して演算子 (単項演算子) を適用できます。 パック 10 進数データには、ビット単位演算は適用されません。 ILE C におけるパック 10 進数データ・タイプは、RPG および COBOL におけるパック 10 進数表現と互換性があります。 マクロを定義し、パック 10 進数引数を指定してライブラリー関数を呼び出すこともできます。 「ILE C/C++ 解説書」に、パック 10 進数データ・タイプに関する情報が含まれています。
    注: decimaldigitsof、および precisionof マクロをコードで使用するには、ILE C ソースで <decimal.h> ヘッダー・ファイルを指定する必要があります。