如何将正浮点数向下舍入下一个整数?

时间:2014-09-22 11:10:36

标签: delphi delphi-2010

我需要将正向浮动向上舍入到最接近的整数。

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 

即。总是围捕。

2 个答案:

答案 0 :(得分:16)

使用Math单元中的Ceil功能。来自文档:

  

将变量向上变为正无穷大。

     

调用Ceil(如在天花板中)以获得大于或的最小整数   等于X.X的绝对值必须小于MaxInt。对于   例如:

     
      
  • Ceil(-2.8)= -2
  •   
  • Ceil(2.8)= 3
  •   
  • Ceil(-1.0)= -1
  •   

我无法判断Ceil的行为是否符合您对负输入值的期望,因为您没有指定在那里做什么。但是,如果Ceil不符合您的期望,那么通过合并Abs()Ceil()

,可以轻松编写满足您需求的功能

答案 1 :(得分:-1)

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

工作正常