如何将一个正浮点数向上取整到下一个整数



我需要将一个正浮点向上取整到最接近的整数。

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() 来编写满足您需求的函数就足够容易了

FindField('QTY').ASFLOAT := TRUNC(FindField('QTY').ASFLOAT) + 1

Works Fine

最新更新