2014-04-06 89 views
1

我知道ceil函數的作用,它將數字向上舍入。 所以; 1.3至2.0和5.9至6.0。 但我希望它以0.5的步長取整。 所以; 1.3至1.5和5.9至6.0。 這可能嗎? 謝謝!使用ceil()函數更高級

+0

注意:一旦'| X |'超過約'電源(2 DBL_MANT_DIG -1)','double'失去舍入到的能力最近0.5。 – chux

回答

4
y = ceil(x * 2.0)/2.0; 

應該做你需要的東西:

x  x*2.0 ceil(x*2.0) y 
------------------------------ 
1.3 2.6  3.0   1.5 
1.6 3.2  4.0   2.0 
5.9 11.8 12.0   6.0 
+0

聰明!我不敢相信我沒有爲自己弄明白這一點!謝謝! – Vince