0
在postgres的,如果值爲1.01到1,如果1.1然後在postgresql中如何舍入?
如何舍入的值具有如下圖案(無論是浮動,BigDecimal的或雙),
(1)如果該值是1.0,即,如果該小數開始爲零,則這不應該四捨五入,值應該是整數。即,在這種情況下「1」。 (2)如果該值是1.1,即如果小數位以數字大於0開始,那麼整個數字應舍入到下一個數字。即如果是1.1,那麼它應該是2.
在postgres的,如果值爲1.01到1,如果1.1然後在postgresql中如何舍入?
如何舍入的值具有如下圖案(無論是浮動,BigDecimal的或雙),
(1)如果該值是1.0,即,如果該小數開始爲零,則這不應該四捨五入,值應該是整數。即,在這種情況下「1」。 (2)如果該值是1.1,即如果小數位以數字大於0開始,那麼整個數字應舍入到下一個數字。即如果是1.1,那麼它應該是2.
第一輪捨棄第一個最小值到最接近的值,然後在它上面執行ceil函數以得到期望的結果。
select case when mod(floor(1.09*10),10)=0 then ceil(round(1.09)) else ceil(round(1.09,1)) end ;
select case when mod(floor(1.1*10),10)=0 then ceil(round(1.1)) else ceil(round(1.1,1)) end ;
select case when mod(floor(col*10),10)=0 then ceil(round(col)) else ceil(round(col,1)) end ;