数据库中存储小数的问题。

我在mysql设置了一个数据列的数据类型为float或者double,但是当我输入0.55时,他就会自动变成1。然后我又去sqlserver看了一下,也会自动变为1.为什... 我在mysql设置了一个数据列的数据类型为float或者double,但是当我输入0.55时,他就会自动变成1。然后我又去sqlserver看了一下,也会自动变为1.为什么?我mysql使用的是navicat看的。
我发现,我重建一个表,就可以了。不可以的原因是我原本用的是int型,然后改成了float型,难道mysql因为里面有数据没给我刷新?
展开
 我来答
阳光上的桥
推荐于2017-09-08 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21423 获赞数:65813
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部
无论MYSQL还是SQL SERVER,用float类型存放0.55是不会出问题的,显示为1可能是相关的客户端软件显示时候的宽度不够,自动进行了四舍五入而已,你可以使用MYSQL的命令用SQL显示一下,结果有误差,但是值是对的,比如可能显示0.55000000001或者0.54999999999
micro0369
2017-09-08 · TA获得超过1.2万个赞
知道大有可为答主
回答量:9250
采纳率:85%
帮助的人:4048万
展开全部
你原本用的是int型,此时你把数据存储到数据库中,数据库就存储的是整型了,不是存储的0.55。
然后你在改成float,当然还是1.0了,不会还原成0.55的。
你改成float后,再存入数据,那么就不会出现这个问题了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
405675672
2011-02-16 · TA获得超过2620个赞
知道小有建树答主
回答量:1105
采纳率:0%
帮助的人:1095万
展开全部
你把小数位数重新设置一下即可。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式