使用ASString赋值,不要使用AsFloat

解决方案 »

  1.   

    用TQuery 控件,通过写SQL脚本的方式写库
    如 Query.sql.add('insert table values (0.2)');
      

  2.   

    1.双击对应该库的DataSet,添加上所有的字段,选中该字段,修改它的DisplayFormat属性就可以了,比如你要求零不显示,保留两位小数,那么给该属性赋值"0.00;; ",注意最后有个空格,假如你要显示一个"$"字符,你可以写上"$ 0.00;; "就行了.
    2.使用字符型字段存储也可以,在存的时候使用formatfloat('0.00;; ',float);
      

  3.   

    这是由于mssql与delphi的数据的格式的差异造成,在BDE中system选项中的format中的设置。
      

  4.   

    设置BDE可以解决数据精确度总问题:
    参数 ENABLE BCD=true即可能性.OK?!
      

  5.   

    用format('.2n',[])函数,[]中是要存放的数值,然后将转换后的值写入数据库字段中。
      

  6.   

    接上面 
    比如:
     select field1*field2 as field3 from table...field1为奖金, field2 为系数,field3为实发奖金。
      

  7.   

    select round(field1*field2,2) as field3 from table
      

  8.   

    好象BORLAND的软件都有浮点数问题,我在BCB中也有碰到.
    我用标准C库的FILE函数与VCL库中的WriteFile均出现了同样的结果,就是喜欢.1把改成
    .0999999等.
      

  9.   

    to binchang:select round(field1*field2,2) as field3 from table这样写好象通不过耶?