oracle中round 四捨五入

2021-08-21 02:57:45 字數 2192 閱讀 1549

語法:

round函式

語法為round(number,num_digits)

其中number是需要進行四捨五入的數字;num_digits為指定的位數,按此位數進行四捨五入,如果num_digits大於 0,則四捨五入到指定的小數字,如果num_digits等於 0,則四捨五入到最接近的整數,如果num_digits小於 0,則在小數點左側進行四捨五入。

例如:round(2.149, 0)將 2.149 四捨五入到乙個整數結果為2。

round(2.15, 1)將 2.15 四捨五入到乙個小數字,結果為2.2。

round(2.149, 1)將 2.149 四捨五入到乙個小數字結果為2.1。

round(-1.475, 2)將 -1.475 四捨五入到兩小數字結果為-1.48)。

round(21.5, -1)將 21.5 四捨五入到小數點左側一位結果為20。

sqlplus下演示:

sql> select round(24.946,0) from dual;

round(24.946,0)

---------------

25

sql> select round(24.946,1) from dual;

round(24.946,1)

---------------

24.9

sql> select round(24.946,2) from dual;

round(24.946,2)

---------------

24.95

sql> select round(24.946,-1) from dual;

round(24.946,-1)

----------------

20

sql> select round(24.946,-2) from dual;

round(24.946,-2)

----------------

0

sql> select round(26.946,-1) from dual;

round(26.946,-1)

----------------

30

round

(x[,y])

【功能】返回四捨五入後的值

【引數】x,y,數字型表示式,如果y不為整數則擷取y整數部分,如果y>0則四捨五入為y位小數,如果y小於0則四捨五入到小數點向左第y位。

【返回】數字

【示例】select round(5555.6666,2.1),round(5555.6666,-2.6),round(5555.6666) from dual;

返回:5555.67 , 5600 , 5556

【相近】trunc(x[,y])返回擷取後的值,用法同round(x[,y]),只是不四捨五入

trunc

(x[,y])

【功能】返回x按精度y擷取後的值

【引數】x,y,數字型表示式,如果y不為整數則擷取y整數部分,如果y>0則擷取到y位小數,如果y小於0則擷取到小數點向左第y位,小數前其它資料用0表示。

【返回】數字

【示例】select trunc(5555.66666,2.1),trunc(5555.66666,-2.6),trunc(5555.033333) from dual;

返回:5555.66 5500 5555

【相近】round(x[,y])返回擷取後的值,用法同trunc(x[,y]),只是要做四捨五入

python中round(四捨五入)的坑

python中的round函式不能直接拿來四捨五入,一種替代方式是使用decimal.quantize 函式。具體內容待補。round 2.675,2 2.67 可以傳遞給decimal整型或者字串引數,但不能是浮點資料,因為浮點資料本身就不準確。1 coding utf 8 2from decim...

MySQL中round 四捨五入之坑

計算數值時,因將乙個數值由 四捨五入改成sql四捨五入做整數處理而產生了誤差。該字段為varchar型別,修改後的計算結果與之前的結果當小數字為.5四捨五入進製時,竟然出現誤差。例如2.5,當欄位型別為varchar或double型別時,使用round函式,結果為2,而decimal則進製正常。執行...

SQL的四捨五入ROUND函式

sql四捨五入2007 11 01 16 35問題1 select cast 123.456 as decimal 將會得到 123 小數點後面的將會被省略掉 如果希望得到小數點後面的兩位。則需要把上面的改為 select cast 123.456 as decimal 38,2 123.46 自動...