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。请问有什么办法解决?
...全文
206 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
jtkkjtkk 2004-10-19
浮点是近似值,而Decimal是精确值,改用Decimal即可,程序不用修改。
回复
jam021 2004-10-19
关注,帮你顶!
回复
如果你要精确的数据,应该改用 decimal/numeric 类型
回复
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试试.
回复
发动态
发帖子

1180

社区成员

VB 数据库(包含打印,安装,报表)
申请成为版主
社区公告
暂无公告