我用adoquery连接数据库,当我把一个小数赋值给一个子段的时候,它把我的小数位给截掉了。d:=12346656789.88;
s:=formatfloat('0.00',d) ;FieldByName('aa').AsString :=s;
FieldByName('aa').AsFloat:=d;上面两个都不行,大家有没有遇到这个问题

解决方案 »

  1.   

    你在显示的时候格式化下数据,使其显示相同的格式如:19,232.00在adoquery的fileds中displayformat设置为:##,###.00就行了
      

  2.   

    字段类型无法容纳那么多的小数位数,用number指定小数位,或者就使用varchar类型,有多少位就是多少位
      

  3.   

    已经设置了displayformat,数据库中也是number(16,2)
    FieldByName('aa').AsString :=s; 
    调试的时候上面一句执行结束后的值是12346656790
      

  4.   

    displayFormat 是用來顯示的。  好像有個 EditFormat  還有就是你本身傳入的時候已經處理成二位小數位了吧?
      

  5.   

    给字段赋值应该用FieldByName('XX').Value:=yyFieldByName('XX').AsXXXXXX是用来输出的,会把数据库的字段强制转化成你需要输出的类型