冰 冰雪 Unregistered / Unconfirmed GUEST, unregistred user! 2002-10-12 #1 我在select 语句中用了a-b-c as d 和 sum 涵数都会出现很多位的小数,请问如何解决?
冰 冰雪 Unregistered / Unconfirmed GUEST, unregistred user! 2002-10-12 #3 TO 道长: 就是以下语句: select a,b,c,a-b-c as d,sum(金额) as 总金额 from .....where ..... 得出来的‘d’字段和‘总金额’字段有好多位的小数。请教。
TO 道长: 就是以下语句: select a,b,c,a-b-c as d,sum(金额) as 总金额 from .....where ..... 得出来的‘d’字段和‘总金额’字段有好多位的小数。请教。
太 太阳河上 Unregistered / Unconfirmed GUEST, unregistred user! 2002-10-12 #4 在mssql中是这样的: Select floor(a-b-c) as d from table1 注: Floor是取整函数,若想留一位小数点则:Floor((a-b-c)*10)/10 as b
R Reesinx Unregistered / Unconfirmed GUEST, unregistred user! 2002-10-12 #5 大概是没办法解决,我也碰到过。 最后的解决办法是,所有的计算用DELPHI来完成,这样就可以完四舍五入的处理了。 然后在SQL语句中使用参数把计算后的结果传进去! Good luck!
D duancy Unregistered / Unconfirmed GUEST, unregistred user! 2002-10-12 #6 你的a,b,c字段是float类型吧,改为money类型就可以了,可惜有¥出现. 如果要去掉¥又很麻烦.
T twos Unregistered / Unconfirmed GUEST, unregistred user! 2002-10-12 #7 在外面处理 也就是不用SQL语句处理 比如在Delphi里面取整
太 太阳河上 Unregistered / Unconfirmed GUEST, unregistred user! 2002-10-12 #8 >>select a,b,c,a-b-c as d,sum(金额) as 总金额 from .....where ..... 在mssql中这样就行: >>select a,b,c,Floor((a-b-c)*10)/10 as d,Floor(sum(金额)*10)/10 as 总金额 from .....where .....
>>select a,b,c,a-b-c as d,sum(金额) as 总金额 from .....where ..... 在mssql中这样就行: >>select a,b,c,Floor((a-b-c)*10)/10 as d,Floor(sum(金额)*10)/10 as 总金额 from .....where .....
D dedema Unregistered / Unconfirmed GUEST, unregistred user! 2002-10-12 #9 是oracle中吗? select a,b,c,lpad(a-b-c,8) as d,lpad(sum(金额),8) as 总金额 from .....where ..... 保留8位有效数字。
冰 冰雪 Unregistered / Unconfirmed GUEST, unregistred user! 2002-10-12 #11 TO dedema 不是,我用的是paradox数据库,有什么涵数可以解决的吗?
Q QuickSilver Unregistered / Unconfirmed GUEST, unregistred user! 2002-10-12 #12 Select a,b,c,cast(a-b-c as numeric) as d,cast(sum(金额) as numeric) as 总金额 From ..... Where ..... 试试
冰 冰雪 Unregistered / Unconfirmed GUEST, unregistred user! 2002-10-13 #14 to Reesinx老兄: 可否按你说的方法举个例子啊,不胜感激!!!!
Q QuickSilver Unregistered / Unconfirmed GUEST, unregistred user! 2002-10-13 #15 在Select执行后,加入此句 TNumericField(query1.FieldByName('D')).displayformat:='0.00';
冰 冰雪 Unregistered / Unconfirmed GUEST, unregistred user! 2002-10-13 #16 to QuickSilver: 大哥万岁! 分不多,不能怎么分了,给QuickSilver吧,同时也谢谢其它的朋友!