我才开始搞,delphi有这种函数吗?再开发一个数据库,请指点

解决方案 »

  1.   

    四:Round(将实数四舍五入转为整数)
    取整:trunc(无条件舍去转化为整数)
    Frac(返回实数的小数部分)
    Int(返回实数的整数部分)
      

  2.   

    floor 和 ceil 是 math unit 里的函数,使用前要先 Uses Math。
        trunc 和 round 是 system unit 里的函数,缺省就可以用。
       floor 直接往小的取,比如 floor(-123.55)=-124,floor(123.55)=123
       trunc 直接切下整数,比如 trunc(-123.55)=-123, floor(123.55)=123
       ceil 直接往大的取,比如 ceil(-123.55)=-123, ceil(123.55)=124
       round 计算四舍五入,比如 round(-123.55)=-124,round(123.55)=124
      

  3.   

    round函数有buground(123.5)=124
    round(122.5)=122 ////round(123.55)=123
    { Round ---> DoRound }
    function DoRound(Value: Extended): Int64;  procedure Set8087CW(NewCW: Word);
      asm
        MOV     Default8087CW,AX
        FNCLEX
        FLDCW   Default8087CW
      end;const
      RoundUpCW         = $1B32;
    var
      OldCW             : Word;
    begin
      OldCW := Default8087CW;
      try
        Set8087CW(RoundUpCW);
        Result := Round(Value);
      finally
        Set8087CW(OldCW);
      end;
    end;{ DoRound }DoRound(122.5)=123 ////DoRound(123.55)=123                               摘自《超级猛料》
      

  4.   

    不好意思,写错了
      ////round(123.55)=124
      ////DoRound(123.55)=124
      

  5.   

    这个我测试了一下,round确实有bug,但是如何把delphi的round函数
    替换成DoRound呢?