4

trunc と round は負の引数で同じですか?

       SQL> select round(123456.76,-4) from dual;

        ROUND(123456.76,-4)
         -------------------
         120000

         SQL> select trunc(123456.76,-4) from dual;

          TRUNC(123456.76,-4)
          -------------------
         120000
4

3 に答える 3

10

いいえ、動作は有効数字の値に依存します (3 桁目 (3) は 5 未満であり、同じことroundを行うため、この場合は有効数字です)trunc

select trunc(125456.76,-4) from dual(結果は120000)対 select round(125456.76,-4) from dual(結果は130000)を試してください。有効桁数が 5 (またはそれ以上) の場合、truncとの結果はround異なります。

于 2012-07-03T05:15:13.977 に答える
1

ROUND指定された値の丸め数値に関連しています。

TRUNC指定された値の切り捨てに関連しています。

例の場合、round小数点以下 4 桁目まで 4 桁を 0 で埋めます。

ただし、trunc小数点以下 4 桁目までは 0 に置き換えます。

于 2012-07-03T05:24:32.053 に答える