ITPUB??ì3
新一届的微软MVP评选已经开始,欢迎各位推荐!
ITPUB论坛 » Oracle开发 » Oracle Developer Suite » reports 报表高手来,如何根据具体的数值设置显示数量是否带小数

标题: reports 报表高手来,如何根据具体的数值设置显示数量是否带小数
离线 moonsoft
高级会员


精华贴数 1
个人空间 10
技术积分 4396 (311)
社区积分 1686 (670)
注册日期 2005-1-20
论坛徽章:18
ITPUB元老嫦娥BLOG每日发帖之星生肖徽章2007版:猴每日论坛发贴之星ERP板块每日发贴之星
开发板块每日发贴之星生肖徽章:猴ERP板块每日发贴之星行业板块每日发贴之星数据库板块每日发贴之星 

发表于 2006-5-9 11:07 
reports 报表高手来,如何根据具体的数值设置显示数量是否带小数

在开发报表的时候, 比如是数量这个栏位一般都是整数的,可是有的时候却是小数,如4.023公斤,虽然这样有点变态可是实际确实需要显示成4.023而不是4

反过来又要考虑一般时候都要显示成整数,那么如何去实现这样:

如果值是整数,就显示整数,如果是小数就显示小数,不能一直都显示小数.

大家一定遇到过,救命啊.

可以不可以编写PL/SQL 代码来根据实际的具体数值来显示?
如果可以,怎样控制属性


__________________
专注Oracle EBS的博客:理性的浪漫
http://moonsoft.itpub.net
MSN:moonsoft_su@hotmail.com
QQ: 3428083
只看该作者    顶部
离线 yrlkfl
一般会员



精华贴数 0
个人空间 0
技术积分 136 (13012)
社区积分 0 (99699)
注册日期 2003-11-8
论坛徽章:0
      
      

发表于 2006-6-2 11:05 
给你个例子,在报表中自己修改吧,建个CF公式,写在PL/SQL中
l_num varchar2(20) default trunc( rice );
--截取小数后转换为整数
h_number number;
begin
        h_number := round(rice*10000)/10000;
--取四位小数
if to_char( h_number ) like '%.%' then
l_num := substr(h_number,instr(h_number,'.')+1);
--截取小数点后的数字
if length(l_num)=4 then
return rtrim(:bz1)||RTRIM(ltrim(to_char(rice,'999,999,990.9999')));
elsif length(l_num)=3 then
        return rtrim(:bz1)||RTRIM(ltrim(to_char(rice,'999,999,990.999')));
else
        return rtrim(:bz1)||RTRIM(ltrim(to_char(rice,'999,999,990.99')));
end if;

else
return rtrim(:bz1)||RTRIM(ltrim(to_char(rice,'999,999,990.99')));       
end if;
  
end;


__________________
DEVELOPER 6I+ORACLE7+SCO UNIX
只看该作者    顶部
离线 benli_1981
初级会员



精华贴数 0
个人空间 0
技术积分 7 (121499)
社区积分 0 (237313)
注册日期 2004-12-30
论坛徽章:0
      
      

发表于 2006-6-22 15:23 
FORMAT MASK:-NNN,NNN,NNN,NN0.NN


只看该作者    顶部
离线 cscliu
一般会员



精华贴数 0
个人空间 0
技术积分 94 (17412)
社区积分 0 (658979)
注册日期 2005-10-17
论坛徽章:0
      
      

发表于 2006-7-5 17:09 
做个公式列,根据数值设定格式掩码就可以了


只看该作者    顶部
离线 hopozho
一般会员



精华贴数 0
个人空间 0
技术积分 222 (8611)
社区积分 0 (800707)
注册日期 2006-3-16
论坛徽章:0
      
      

发表于 2006-8-1 07:52 
设置该列的格式掩码就可以了


只看该作者    顶部
离线 ruili_zeng
深山居士


精华贴数 1
个人空间 0
技术积分 2044 (782)
社区积分 1057 (924)
注册日期 2004-4-6
论坛徽章:3
授权会员数据库板块每日发贴之星    
      

发表于 2006-8-4 16:05 
NNN,NNN,NNN,NN0.0NNN


__________________
只看该作者    顶部
离线 uuyuan
一般会员



精华贴数 0
个人空间 0
技术积分 158 (11523)
社区积分 0 (136008)
注册日期 2004-8-11
论坛徽章:0
      
      

发表于 2006-8-7 10:00 
看看这个

select round(23.67,0) from dual

select round(23.67,1) from dual

SELECT trunc(23.67) FROM dual


只看该作者    顶部
离线 黑枪
高级会员



精华贴数 0
个人空间 0
技术积分 1689 (993)
社区积分 4470 (313)
注册日期 2005-3-6
论坛徽章:4
ITPUB元老     
      

发表于 2006-8-8 17:40 
好多高手...发帖不多的高手.


__________________
weifxu(at)hotmail.com
只看该作者    顶部
离线 gc03
一般会员



精华贴数 0
个人空间 0
技术积分 200 (9453)
社区积分 0 (923579)
注册日期 2006-5-12
论坛徽章:0
      
      

发表于 2006-8-19 13:09 
FM9990.99


只看该作者    顶部
离线 moonsoft
高级会员


精华贴数 1
个人空间 10
技术积分 4396 (311)
社区积分 1686 (670)
注册日期 2005-1-20
论坛徽章:18
ITPUB元老嫦娥BLOG每日发帖之星生肖徽章2007版:猴每日论坛发贴之星ERP板块每日发贴之星
开发板块每日发贴之星生肖徽章:猴ERP板块每日发贴之星行业板块每日发贴之星数据库板块每日发贴之星 

发表于 2006-9-7 15:26 


QUOTE:
最初由 uuyuan 发布
看看这个

select round(23.67,0) from dual

select round(23.67,1) from dual

SELECT trunc(23.67) FROM dual


值得采用,呵呵

其实设置格式掩码很有效的


__________________
专注Oracle EBS的博客:理性的浪漫
http://moonsoft.itpub.net
MSN:moonsoft_su@hotmail.com
QQ: 3428083
只看该作者    顶部
相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问