浮点数的小问题

lunyx 2010-03-15 03:47:19
本来存到数据库中 是4.2,可是读出来的时候,他变成了4.19999980926514,这样就犯愁了,本来客户明明写了这个数,怎么读出来的时候不一样了?各位有什么好的解决方案吗?
...全文
85 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xhj12077021 2010-03-15
  • 打赏
  • 举报
回复
Query1.FieldByName('db').asstring:= V;
...Post...........

保存的是字符串啊
lunyx 2010-03-15
  • 打赏
  • 举报
回复
不是长度设置问题。本来我数据库中是double类型的。我写入
V:string;
V:= '4.2';
Query1.FieldByName('db').asstring:= V;
...Post...........
读出来的时候,就变形了,不够准确
V:string;
Dv:= Query1.FieldByName('db').asstring;

得出
V='4.19999980926514'
jjwang2004 2010-03-15
  • 打赏
  • 举报
回复
设置成浮点数的时候,小数位数是不是2位
bdmh 2010-03-15
  • 打赏
  • 举报
回复
这是浮点数的存储方式在作怪,浮点数的存储不同于其他类型,你可以选择Money类型
7年 2010-03-15
  • 打赏
  • 举报
回复
长度设置问题?
xhj12077021 2010-03-15
  • 打赏
  • 举报
回复
没有遇到过这样的问题

16,749

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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