2 sznray sznray 于 2017.09.05 14:29 提问

急:ADOQuery执行select语句,读取出来的float型值不是数据库中的值???

sql = "select DEEP from pvesseln where PFILENO = 100001";
qryNew->Close();
qryNew->SQL->Clear();
qryNew->SQL->Add(sql);
qryNew->Open();
float temp = qryNew->FieldByName("DEEP")->AsFloat;

得出来的temp不是数据库中的值!!!

3个回答

caozhy
caozhy   Ds   Rxr 2017.09.05 14:56

ado中的float和c语言的不完全一样,存在精度误差。如果有微小的偏差,是正常的。

qq_40090700
qq_40090700   2017.09.06 11:01

你选择的数值型最好可以确定到哪一位,比如number(1,2),到小数两位数

zhang_guyuan
zhang_guyuan   2017.09.07 17:30

你确定一下你数据库中的DEEP类型是不是float;

Csdn user default icon
上传中...
上传图片
插入图片