当前位置: 代码迷 >> PB >> 急在此(yyoinge)关于Format显示格式设置有关问题
  详细解决方案

急在此(yyoinge)关于Format显示格式设置有关问题

热度:101   发布时间:2016-04-29 07:47:29.0
急!在此求救(yyoinge)关于Format显示格式设置问题
我想让数值字段:capital 的值超过10000时,能显示为 X万,这样看能增加阅读效果

我写的Expression为:
if( capital < 10000, '##########', if( capital / 10000 = int( capital / 10000 ), fill('0', len(string( capital / 10000 ))) + '万', capital / 10000 + '万' ) )

现在出现的问题是,中间还是有零的时候出错,测试数据如下:

capital 值    结果
------------------
正确结果:
1000   -----〉1000
10000  -----〉1万
12000  -----〉1.2万

错误结果:
12090  -----〉1.219万
102000 -----〉11.2万
200500 -----〉22.05万


还是出错在,中间有零的时候,10-〉11,20-〉22, 30-〉33的情况,请在指点,谢谢

------解决方案--------------------
亿的, 除以 100000000 , 写成除以 10000000 了, 下面改过来
case(capital when is < 10000 then  
replace(  fill( '#', len(string(capital )) ), pos(string(capital ) , '.'), 1, mid('#.', sign(pos(string(capital ) , '.')) + 1, 1)  )   
when is < 100000000 then  
replace(  fill( '#', len(string(capital / 10000)) ), pos(string(capital / 10000) , '.'), 1, mid('#.', sign(pos(string(capital / 10000) , '.')) + 1, 1)  ) + '万'    
else 
replace(  fill( '#', len(string(capital / 100000000)) ), pos(string(capital / 100000000) , '.'), 1, mid('#.', sign(pos(string(capital / 100000000) , '.')) + 1, 1)  ) + '亿'  )
  相关解决方案