我使用的是round函数,但是有的实现了四舍五入有的就没有  例如561.45四舍五入之后就成了561.4  请问如何解决

解决方案 »

  1.   

    function RoundEx(v: Double): Double;
    begin
      if V > 0 then
        Result := Trunc(v+0.5)
      else
        Result := Trunc(v-0.5);
    end;
      

  2.   

    错了
    function RoundEx(v: Double): Integer; 
    begin 
      if V < 0 then 
        Result := Trunc(v-0.5) 
      else 
        Result := Trunc(v+0.5); 
    end;
      

  3.   

    function Round(X: Extended): Int64;
    怎么可能取出561.4
      

  4.   

    Delphi的Round函数采用的是四舍六入,逢五的时候是前面是奇数才入,是偶数则不入,
    可以处理下代码,加上0.005后在采用Round函数,或者
    Value:=Trunc(val+0.5);这样来处理。