我需要將正浮點向上舍入到最接近的整數。如何將下一個整數向上舍入爲正數?
examples;
1.0 rounds up to 1
2.1 rounds up to 3
3.5 rounds up to 4
4.9 rounds up to 5
即總是舍入。
我需要將正浮點向上舍入到最接近的整數。如何將下一個整數向上舍入爲正數?
examples;
1.0 rounds up to 1
2.1 rounds up to 3
3.5 rounds up to 4
4.9 rounds up to 5
即總是舍入。
使用Math
單位的Ceil
函數。從文檔:
將變量向上朝向正無窮大。
調用Ceil(如在天花板中)以獲得大於或等於X的最小整數 。X的絕對值必須小於MaxInt。對於 例如:
- 的Ceil(-2.8)= -2
- 的Ceil(2.8)= 3
- 的Ceil(-1.0)= -1
我無法分辨Ceil
的行爲是否符合您對負面輸入值的期望,因爲您未指定在此處執行的操作。然而,如果Ceil
不符合您的期望,通過結合Abs()
和Ceil()
這正是我想要的,但在win32(或.net專用)上可用的System.Math? – srayner 2014-09-22 11:17:56
在D2010上,它是'Math'單位。在DXE2或更高版本中,命名空間是'System.Math'。 – 2014-09-22 11:18:37
FWIW,向上舍入和最接近是不相容的,可以很容易地編寫函數來滿足您的需求。你的意思是簡單地收集。 – 2014-09-22 11:12:08
4.4應該輪到什麼? -5或-4? – 2014-09-22 11:13:06
查看http://docwiki.embarcadero.com/Libraries/XE6/en/System.Math.Ceil – 2014-09-22 11:15:09