valcc:= StrToFloat(ADOQuery1.Fields.Fields[0].Value)出错,求解。 使用这个语句时valcc:= StrToFloat(ADOQuery1.Fields.Fields[0].Value);用单步调试ADOQuery1.Fields.Fields[0].Value 值查看是 22.3725可赋值给valcc后 valcc的值却是4136.71777343为什么?ADOQuery1.Fields.Fields[0].Value 值是通过查询时使用sum()计算出来的。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ADOQuery1.Fields.Fields[0].Value改为ADOQuery1.Fields.Fields[0].AsString试试 还是不行仔细看了下:ADOQuery1.Fields.Fields[0].Value 为4136.718而valcc 被赋值后为 4136.71777343怎么回事? 更精确了?但是看数据库里面的数据,手动加了下,本来就是4136.718后面那些多出来的小数位从那来的?晕啊~ ADOQuery1.Fields.Fields[0].AsFloat试试,另外出错是报什么? 出错就指的 赋值 的值不对 没跳什么信息。按AsFloat 反倒出错了 显示:invalid variant operation 忘了讲valcc 数据类型是 Single。 在详细说明下问题:sql语句:select sum(aa) from 表一;表一 中只有一条记录 ,该记录字段 aa 的值为 4136.718 字段类型为 文本。使用这个语句时valcc:= StrToFloat(ADOQuery1.Fields.Fields[0].Value);用单步调试ADOQuery1.Fields.Fields[0].Value 值查看是 4136.718可赋值给valcc后 valcc的值却是4136.71777343 刚才这样试了下:讲ACCESS数据库中aa 字段的类型改为 单精度浮点这时ADOQuery1.Fields.Fields[0].Value 为 4136.71777343 可数据库中明明值为4136.718 又试了试 var ddd::Singlebegin ddd:=StrToFloat(edit1.text);end;这时 edit1.text 为4323.12但是语句执行后 ddd 还是0 为什么?我彻底崩溃了 难道是下载的delphi7 有问题?! 各种数据类型的精度不一样,将valcc改为Float会怎样,或改为string。 valcc 后面需要进行算数计算。delphi 中 不能声明Float类型吧?Single 应该就是 单浮点精度吧? valcc:real就可OK了,直接valcc:= ADOQuery1.Fields.Fields[0].Value;就可以了 format函数可以用来控制数据的精度。 昨天回家尝试多次发现 Single 这个类型在delphi中 好像有点奇怪用double 或者real 都没问题所以搞不明白了,single不就是单精度浮点 4字节。doubule 是8字节 双精度浮点吗?为什么会出现这个问题呢? 你要定義為doubule或real,float是浮點類型 Delete函数如何才能对类里的Text直接操作 如何将二进制数转换为十六进制显示? 高手请进 怎么样把query返回的结果存储成文本文件!??在线等待!!!! 大家都用什么控件连接Interbase? 文件拖动问题,高手进来,顺便散分 如何用SQL语句改变字段在表中的先后顺序。注意:是字段的位置而不是记录的位置. ADOQuery1.Post 数据的id 大家好,请问一下,如何对条形码扫描器进行编程? 通过ado连接到数据库,如果连接不成功,怎样拦截错误. 请问大家这用多线程如何实现?谢谢回答 为什么QQ的窗体下没有组件?
还是不行仔细看了下:
ADOQuery1.Fields.Fields[0].Value 为4136.718而
valcc 被赋值后为 4136.71777343怎么回事? 更精确了?
但是看数据库里面的数据,手动加了下,本来就是4136.718
后面那些多出来的小数位从那来的?
晕啊~
valcc 数据类型是 Single。
在详细说明下问题:sql语句:
select sum(aa) from 表一;表一 中只有一条记录 ,该记录字段 aa 的值为 4136.718 字段类型为 文本。
使用这个语句时
valcc:= StrToFloat(ADOQuery1.Fields.Fields[0].Value);用单步调试ADOQuery1.Fields.Fields[0].Value 值查看是 4136.718可赋值给valcc后 valcc的值却是4136.71777343
刚才这样试了下:
讲ACCESS数据库中aa 字段的类型改为 单精度浮点
这时ADOQuery1.Fields.Fields[0].Value 为 4136.71777343 可数据库中明明值为4136.718
ddd::Singlebegin
ddd:=StrToFloat(edit1.text);
end;
这时
edit1.text 为4323.12但是语句执行后 ddd 还是0 为什么?我彻底崩溃了
delphi 中 不能声明Float类型吧?
Single 应该就是 单浮点精度吧?
发现 Single 这个类型在delphi中 好像有点奇怪
用double 或者real 都没问题所以搞不明白了,single不就是单精度浮点 4字节。
doubule 是8字节 双精度浮点吗?为什么会出现这个问题呢?