问题1、对7000多个记录求和,如:sum(dtbmdm1.net)计算出来的正确结果
       应为 3187683.67,可是利用报表求出来的确实 3187683.669999999999。
问题2、我采用如下方法解决,int((sum(dtbmdm1.net)+0.0001)*1000)/1000
       这种方法可以很好的解决小一点的数,但是对于上面的数却出现了负数,
       我想使运算超出了限制,怎么能够解决这个问题。

解决方案 »

  1.   

    你用什么报表设计器?QR?FR?Rave?
      

  2.   

    如果是money 最好使用currey类型其它的才使用double . 另外在报表中可以定义float的小数位数的。不行的话你还可以用
    formatfloat函数格式化的
      

  3.   

    int() 你的数值超过这个函数参数的取值范围,编译把它转为负数处理用formatfloat()来处理吧
      

  4.   

    C:\Program Files\Borland\Delphi6\Demos\QuickRpt\Qr3目录下有一个master/slever例子