代碼寫在設置格式部分的【數字】--->【自定義樣式】--->【十位】的公式欄位中,另外【十位】中的格式選定所需的最長格式,並且,【四捨五入】中選定最大的小數位數。
注意:水晶報表最多保留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