zoukankan      html  css  js  c++  java
  • 数値の切捨て、切り上げ、四捨五入

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

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

  • 相关阅读:
    给定一个十进制数M,以及需要转换的进制数N。 将十进制数M转化为N进制数
    java计算两条线段交点
    输入两个整数n和m,从数列1,2,3,……n中随意取几个数,使其和等于m 转载
    全排列 (递归求解+字典序) java 转载
    四大线程池详解(转载)
    生产者消费者简单实现(转载)
    进程 线程通信方式(转载)
    匿名对象和类名为数据类型(java)
    星星(java)
    杨辉三角(java)
  • 原文地址:https://www.cnblogs.com/yjyongil/p/10552474.html
Copyright © 2011-2022 走看看