我想让数值字段: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) ) + '亿' )