ROUND (数値)

構文

round_number::=

目的

ROUNDは、nを小数点以下integer桁に丸めた値を戻します。integerを指定しない場合、nは小数点以下が丸められます。integerが負の場合、nは小数点の左側に丸められます。

nには、任意の数値データ型、または暗黙的に数値データ型に変換可能な数値以外のデータ型を指定できます。integerを指定しない場合、このファンクションは、nの数値データ型と同じデータ型で値ROUND(n, 0)を戻します。integerを指定すると、このファンクションはNUMBERを戻します。

ROUNDは、次の規則を使用して実行されます。

  1. nが0の場合、ROUNDintegerに関係なく常に0を戻します。

  2. nが負の場合、ROUND(n, integer)は、-ROUND(-n, integer)を戻します。

  3. nが正の場合は、次のとおりです。

    ROUND(n, integer) = FLOOR(n * POWER(10, integer) + 0.5) * POWER(10, -integer)
    

NUMBER値に適用されたROUNDが、浮動小数点で表現された同じ値に適用されたROUNDと少し異なる場合があります。この結果の相違は、NUMBERと浮動小数点値の内部表現の違いから発生します。相違が発生した場合、その相違は丸められた桁で1になります。

関連項目:

次の例では、数値を小数点以下1桁に丸めます。

SELECT ROUND(15.193,1) "Round" FROM DUAL;

     Round
----------
      15.2

次の例では、数値の小数点の左1桁を丸めます。

SELECT ROUND(15.193,-1) "Round" FROM DUAL;

     Round
----------
        20