SQL数据类型float的小数点问题,请帮帮忙~

wuwu_7 2004-10-18 01:37:00
sql server 2000和vb6
sql表中有个字段1有3位小数,设为float类型,添加记录之后,如:2.1,数据库中的纪录会变成2.09999999999,取出来使用不太方便,就在存储过程中把字段1用cast变为char,表中就不会出错,但这样一来,字段1的数值超过100000后,自动将小数位数四舍五入,变成整数,如原字段1的值为90000.432,加上10000.321,更新后数据库的值为100001。请问有什么办法解决?
...全文
350 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
jtkkjtkk 2004-10-19
  • 打赏
  • 举报
回复
浮点是近似值,而Decimal是精确值,改用Decimal即可,程序不用修改。
jam021 2004-10-19
  • 打赏
  • 举报
回复
关注,帮你顶!
zjcxc 2004-10-18
  • 打赏
  • 举报
回复
如果你要精确的数据,应该改用 decimal/numeric 类型
zjcxc 2004-10-18
  • 打赏
  • 举报
回复
float 和 real
用于表示浮点数字数据的近似数字数据类型。浮点数据为近似值;并非数据类型范围内的所有数据都能精确地表示。


联机帮助上说得很清楚,是浮点数据,而且是保存的近似值,所以取出的结果与保存的会有误差
mlxboy 2004-10-18
  • 打赏
  • 举报
回复
保存到数据库之前处理一下format()
bciAnson 2004-10-18
  • 打赏
  • 举报
回复
sql中建议你用这个
decimal(9,3)
lyadlysysT 2004-10-18
  • 打赏
  • 举报
回复
Round(列名,长度)
wz19761022 2004-10-18
  • 打赏
  • 举报
回复
换个:numeric试试.

1,217

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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