给客户做了个工资系统,报表使用ReportBuilder,其中一字段为加班工资,类型为decimal(18,2),合计本来是93721.34元 可是在汇总栏却变成了93721.3399999999,汇总栏用的是tppdbcalc 。在我的电脑上正常,是93721.34元 ,可是她的电脑就变成了93721.3399999999,明明是2位小数的,这是什么问题啊。

解决方案 »

  1.   

    大哥你不知道电脑里浮点是怎么表示的吗?
    不会format一下啊。
      

  2.   

    format当然可以的,但是我觉得没有必要的,因为都是2位小数啊
      

  3.   

    楼主的数据库一定是使用的Access数据库.
    将有关字段的数据类型设置为'双精度'.OK
      

  4.   

    如果是Access数据库,
    数据类型 数字 字段大小 小数 精度9 数值范围 2
      

  5.   

    数据用formatfloat来转换一下可以吗
      

  6.   

    那就只有这个原因了如果要让你的应用程序更健壮,推荐在代码中做强制转换(Format())。
      

  7.   

    这个是数据类型所制造的麻烦
    建议采用Numeric类型
      

  8.   

    access和sql server的数据类型是一样的。里面的很多函数和方法都差不多。
    用相关函数格式化一下是最好的办法。在开发的时候一定要考虑浮点数比较,四舍五入等问题,不然很容易出意想不到的问题。
      

  9.   

    汇总只是把他们简单的相加吧,应该没有做任何的处理吧!!问题遇到过,要么也为个字段定义好长度,要么强制转换,fromat
      

  10.   

    如果你的数据库用的是浮点类型的话,就会有这个问题。
    建议format
      

  11.   

    delphi四舍五入用到Round函数.这个函数也有问题
      

  12.   

    感谢这么多的弟兄热情帮助,最后我还是用了displayformat.