在sql中两数相除为什么等于1,小弟我要保留小数的如何写

 我来答
若以下回答无法解决问题,邀请你更新回答
阿淼209
2013-10-31 · 超过70用户采纳过TA的回答
知道答主
回答量:119
采纳率:0%
帮助的人:161万
展开全部
------解决方案--------------------------------------------------------select 24.00/101 ------解决方案--------------------------------------------------------你如果输入的是整数的形式,计算机会当成整数处理,结果也输出的是整数。 如果你想让计算机当成浮点数处理(输出会是浮点数,所以会带小数点之类的),那就需要在整数后面加.0 两个数做除法,有一个是浮点数就够了。 26/25,这结果就是1了 26.0/25,这结果就是一点多了。 ------解决方案--------------------------------------------------------都用float ------解决方案--------------------------------------------------------探讨select 24.00/101 ------解决方案--------------------------------------------------------探讨select 24.00/101 ------解决方案--------------------------------------------------------select round((Convert(float,a)/ sum(Convert(float,a))),2)from table------解决方案--------------------------------------------------------先用convert把两个数转换成double类型的,再相除 ------解决方案--------------------------------------------------------[Quote=引用:] 先用convert把两个数转换成double类型的,再相除[/Quote]好像是cast 吧 ------解决方案--------------------------------------------------------cast(Value as float) ------解决方案--------------------------------------------------------convert(float,a.Value)/convert(float,SUM(a.Value)) 得除数和被除数都必须转化为float就可以了。 ------解决方案--------------------------------------------------------探讨convert(float,a.Value)/convert(float,SUM(a.Value)) 得除数和被除数都必须转化为float就可以了。------解决方案--------------------------------------------------------*1.00 就ok吧
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式