代码写在设置格式部分的【数字】--->【自定义样式】--->【十位】的公式栏位中,另外【十位】中的格式选定所需的最长格式,并且,【四舍五入】中选定最大的小数位数。
注意:水晶报表最多保留10位小数,系统默认格式保留2位小数。
方法一:
if Right(ToText((数字栏位),总小数位数), 4)='0000' then 0
else if Right(ToText((数字栏位), 总小数位数),3)='000' then 1
else if Right(ToText((数字栏位), 总小数位数),2)='00' then 2
else if Right(ToText((数字栏位), 总小数位数),1)='0' then 3
else 4
注意:该处需将【起始0】选项勾上,否则当数值大于0小于1时,显示的数值将会默认去掉个位上的0。
方法二:
Local StringVar strTemp := ToText({数字栏位},总小数位数);
Local NumberVar i;
Local StringVar str := "";
Local NumberVar strLen := Length (strTemp);
For i := strLen To 1 Step -1 Do
(
If strTemp[i] = "." Then
( //如果当前值是小数点,则终止循环
str := Left(strTemp, i-1);
Exit For
)
Else If strTemp[i] <> "0" then
(//从字符串最后一位取值,取小数点后最后一个不为0的值
str := Left(strTemp, i);
Exit For
)
);
//设置起始0
If str[1] = "." Then
(
str := "0"+str;
);
Str