场景:
数据库:Qty decimal(18,5)  值为1.55555,
前台:
  qty: Double;  qty := qryTemp.FieldByname('qty').AsFloat;
  此时就变成了1.5556,最后一位四舍五入了,如果设置qty: Single,再qty := qryTemp.FieldByname('qty').AsFloat;又变成了qty := qryTemp.FieldByname('qty').AsFloat;,好烦躁,不知道改设置成什么类型,才能取的1.55555

解决方案 »

  1.   

    用Decimal类型,  10B 长度, 精确金额值
      

  2.   

    没用的,AsString和AsFloat的效果一样都变成了1.5556
      

  3.   

    但是DBGrid里显示是正确,应该是有解的,只是不知道DBGrid是如何处理的
      

  4.   

    哎。。原来要在数据集控件中添加qty这个字段才行,不添加字段就会四舍五入,真郁闷
      

  5.   

    qryTemp是用的ADO嗎?如果是,請將這個查詢的EnableBCD屬性改為False就可以解決你的問題。
      

  6.   

    楼上的正解,害我加了好多ADOQuery,:)