读书人

在sql中两数相除为什么等于1小弟我要

发布时间: 2012-03-28 15:40:03 作者: rapoo

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

convert(float,a.Value)/SUM(convert(float,a.Value))

24 / 101

[解决办法]
用double型的
[解决办法]
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吧

读书人网 >asp.net

热点推荐