今回は、数値の切捨て、切り上げ、四捨五入についてです。
1,FLOOR 小数点以下切り捨て
例)
DATA: g_pack(3) TYPE p DECIMALS 2.
g_pack = '123.45'.
g_pack = FLOOR( g_pack ).
変数:g_pack には「123.00」が保持されることになります。
2,CEIL 小数点以下切り上げ
例)
DATA: g_pack(3) TYPE p DECIMALS 2.
g_pack = '123.45'.
g_pack = CEIL( g_pack ).
変数:g_pack には「124.00」が保持されることになります。
3,ABS 絶対値
例)
DATA: g_pack(3) TYPE p DECIMALS 2.
g_pack = '-123.45'.
g_pack = ABS( g_pack ).
変数:g_pack には「123.45」が保持されることになります。
上述のように小数点以下の切り捨て、切り上げは、
組込関数で簡単に記述できます。
では、四捨五入は?小数点以下第何位で丸めたい場合は?
4,四捨五入
丸めたい少数点以下桁数の変数に代入することで、四捨五入されます。
例)
DATA: g_pack(3) TYPE p DECIMALS 2.
DATA: g_maru(3) TYPE p DECIMALS 1.
g_pack = '-123.45'.
g_maru = g_pack.
変数:g_maru には「123.5」が保持されることになります。
5,小数点以下を指定した丸め
汎用モジュール「ROUND」を使用します。
これ1つで、上述の組込関数を使用した方法等の代用できます。
いつでも、汎用モジュール「ROUND」を使えば、すべて対応できますが、
例えば、計算しつつ丸めたい場合は、組込関数のほうが便利です。