oracle 向上取整 向下取整

2021-09-25 20:52:08 字數 915 閱讀 9200

oracle對向上取整,向下取整,四捨五入取整都提供了函式

ceil函式實現向上取整

floor、trunc實現向下取整

round實現四捨五入取整

ceil 向上取整,也就是取最接近待取整的數a,並且大於或等於a

select ceil(10.12) from dual ; --返回11

select ceil(10.99) from dual ; --返回11

floor 向下取整,也就是取最接近待取整的數a,並且小於或等於a

select floor(10.12) from dual; --返回10

select floor(10.99) from dual;--返回10

trunc實現向下取整

select trunc(10.12,0) from dual ;--返回10,第二個引數表示保留小數的位數,可以不寫,預設為不保留小數

select trunc(10.99,0) from dual ;--返回10

trunc函式的使用可以參照我的另乙個部落格:

round 四捨五入取整,round可以指定小數的位數,這裡不做討論

select round(10.12) from dual ;--返回10

select round(10.99) from dual; --返回11

如果想要實現小數的向上取整,可以用先乘再除的方式

select  ceil(2.222*100)/100 from dual ; --返回2.23
解釋:

2.222*100得到222.2,對222.2向上取整得到223,對223/100得到2.23

其他的函式同理

向上取整與向下取整

向下取整的運算稱為floor,用數學符號 表示,與之相對的,向上取整的運算稱為ceiling,用數學符號 表示。c語言定義的取整運算既不是floor也不是ceiling,無論運算元是正是負總是把小數部分截斷 truncate 所以當運算元為正的時候相當於floor,當操作符為負的時候相當於ceili...

int向下取整 向上取整

原題點這裡 這道題主要考察的是排序,有個方便的方法就是定義乙個結構體,儲存每個志願者的報名號和筆試分數,然後定義乙個排序就ok了 值得注意的是,題目裡有乙個要求是取給定人數 150 向下取整 的分數作為面試分數線,這裡順便提一下c 裡面的兩個取整函式 地板函式 floor 和天花板函式 ceil 舉...

向上取整 和向下取整 符號

向下取整的運算稱為floor,用數學符號 表示 向上取整的運算稱為ceiling,用數學符號 表示。例如 59 60 0 59 60 1 59 60 1 59 60 0 向上向下 取整函式數隻會對小數點後面的 數字不為零 的數進行操作,要是給它乙個整數 它就返回整數本身 對小數不為零的數操作 給定 ...