動態控制水晶報表中數字欄位的值顯示的小數位數

代碼寫在設置格式部分的【數字】--->【自定義樣式】--->【十位】的公式欄位中,另外【十位】中的格式選定所需的最長格式,並且,【四捨五入】中選定最大的小數位數。

注意:水晶報表最多保留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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章