数値の切捨て、切り上げ、四捨五入

今回は、数値の切捨て、切り上げ、四捨五入についてです。

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」を使えば、すべて対応できますが、
例えば、計算しつつ丸めたい場合は、組込関数のほうが便利です。

转载于:https://www.cnblogs.com/yjyongil/p/10552474.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值