数値割り当ての基本的な規則は、 10 進数または整数の整数部分は決して切り捨てられることがないということです。 宛先数値の位取りが割り当て元の数値の位取りより小さい場合は、 10 進数の小数部の超過桁が切り捨てられます。
浮動小数点数は、実数の近似値です。 したがって、10 進数または整数が浮動小数点の列または変数に割り当てられた場合、 その結果が元の数値と異なってくる可能性があります。
浮動小数点または 10 進数が、整数の列または整数変数に割り当てられた場合、 その数の小数部分が失われます。
10 進数が 10 進数の列または変数に割り当てられる場合、 その数値は、必要に応じて宛先の精度および位取りに変換されます。
必要な数だけ先行ゼロが追加または除去されます。また、 数値の小数部分では、必要な数の後続ゼロが追加されるか、 または必要な数だけ後続ブランクが除去されます。
整数を 10 進数の列または変数に割り当てるときは、 まず数値が一時的な 10 進数へ変換された後、必要なら、 宛先の精度と位取りに変換されます。 一時的な 10 進数の精度と位取りは、短精度整数では 5,0、長精度整数では 11,0、 大整数では 19,0 です。
浮動小数点数を 10 進数に割り当てるときは、 まず数値が精度 31 の一時的な 10 進数へ変換された後、 必要なら、宛先の精度と位取りまで切り捨てられます。 この変換では、 数値は精度 31 の 10 進数に (浮動小数点数算術演算を使って) 丸められます。 その結果、0.5*10-31 未満の数値は 0 になります。 位取りは、有効数字を消失させることなく数値全体を表現できるような値のうち可能な最大のものになります。