问个AsFloat的问题

spspli 2011-05-20 10:42:49
请看这行代码 OutputDebugString(PChar(FloatToStr(qryTable.Fields[i].AsFloat)));
我们数据库的所有数都是10位小数的,比如12.1300000000,或者27.8888888888
我想知道对应数据库里的12.1300000000 和27.8888888888 qryTable.Fields[i].AsFloat 取出来的分别取出来的是什么?是12.1300000000?还是12.13?还是什么?为什么这个OutputDebugString最后给出的是12.13?

我又跑了这行代码
FormatFloat('0.###############',qryTable.Fields[i].AsFloat),结果发现是12.130000000000001,是AsFloat就做了转换还是FormatFloat做的?

好多个为什么呀,想知道每个函数到底怎么取得数值
谢谢!
...全文
85 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
bdmh 2011-06-21
  • 打赏
  • 举报
回复
这是浮点数的特殊存储造成的,他和其他整形啥的在内存中的存储方式不一样

1,978

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 其他语言讨论
社区管理员
  • 其他语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧