SQL Server 2000 数据库
字段是 numeric 9(18,6) 内容是 181.362765
用ADOQuery1.FieldByName('price').Asstring返回后,结果是 181.3628 ADOQuery1.FieldByName('price').AsFloat
ADOQuery1.FieldByName('price').AsCurrency
都不行!! 要怎么才能得到实际结果??  

解决方案 »

  1.   

    ADOQuery1.FieldByName('price').value;
    其实用:
    ADOQuery1.FieldByName('price').AsCurrency;就可以,你装一个MDAC 7.0以上试一下
      

  2.   

    var  s:string;
    s:=ADOQuery1.FieldByName('price').Asstring;s:=floattostr(ADOQuery1.FieldByName('price').AsCurrency);s:=floattostr(ADOQuery1.FieldByName('price').AsFloat);s:=ADOQuery1.FieldByName('price').value;s都返回 181.3628
      

  3.   

    试了一下,确实如此。只有在数据查询时进行处理:
    SELECT CAST(PIRCE AS VARCHAR(20)) AS PRICE FROM TBNAMEs:=ADOQuery1.FieldByName('price').value;s返回 181.362765