于 于小澜 Unregistered / Unconfirmed GUEST, unregistred user! 2000-12-21 #1 在SQL Server库中,字段类型用的是INT,但我在求百分数时结果总为0,因为INT除以(/)INT结果只取整数部分。是否有什么函数或其它办法能解决这个问题?(88分)<br />
G g622 Unregistered / Unconfirmed GUEST, unregistred user! 2000-12-21 #3 觉得你没有说清楚 如果是int型你又要存小数 =我理解错了 1)统计后在取整 2)如果你取小数后两位可以先*100 然后按%理解 我记得银行似乎就是这么作的
于 于小澜 Unregistered / Unconfirmed GUEST, unregistred user! 2000-12-22 #4 我给你举个例子: 男生(int类型):24 人 女生(int类型):22 人 男生占总人数的百分数,要求精确到小数点后两位
Z zengr Unregistered / Unconfirmed GUEST, unregistred user! 2000-12-22 #5 怎么会呢? ff:real; ff:= 24/(24+22); Edit1.Text := formatfloat('0.00',ff); 结果是0.52啊。怎么会=0?
温 温柔一刀 Unregistered / Unconfirmed GUEST, unregistred user! 2000-12-22 #7 在SQL server中,用SQL语句直接进行这种计算, 首先要用cast将其中一个转换成结果类型。
R River5000 Unregistered / Unconfirmed GUEST, unregistred user! 2000-12-22 #9 var f:real; begin f:=24/(22+24); f:=round(f*100)/100; end;
D dq Unregistered / Unconfirmed GUEST, unregistred user! 2000-12-22 #10 select round(1.0*男生/(男生+女生),2) from class1
D dq Unregistered / Unconfirmed GUEST, unregistred user! 2000-12-22 #11 不好意思,应该是100.0,不是1.0—— select round(100.0*男生/(男生+女生),2) as 男生百分比 from class1
B Beast Unregistered / Unconfirmed GUEST, unregistred user! 2000-12-23 #12 就按照River5000的思路没有问题,实在要自己规范格式可以把这个字段用string自己加小数点!
D doud Unregistered / Unconfirmed GUEST, unregistred user! 2000-12-24 #14 SELECT 男生,女生,ROUND(男生/CAST((男生+女生)*100 AS FLOAT(8)),2) FROM STUDENT