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)是重要数字,因为它低于 5round并且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给定示例的情况下,小数点前四位到第四位用 0 填充。

但是trunc以防万一,小数点前的第四位之前的四个位置将替换为 0。

于 2012-07-03T05:24:32.053 回答
0

TRUNC- 根据第二个参数,它返回在第二个参数中指定的指定小数位。前任:

trunc(25.656) -- 25
trunc(25.656, 1) -- 25.6
trunc(25.656, 2) -- 25.65

ROUND- 将给定数字四舍五入到最接近的值。前任:

round(66) -- 70
round(64) -- 60
round(65.7) -- 66
round(65.3) -- 65
于 2021-08-03T00:28:42.980 回答