2010-05-14 59 views
1

我已經在我的公式字段如下:水晶報表 - 在我的公式字段顯示一個小數

toText(((Sum ({DataTable1.Ending_Value}, {DataTable1.Name})) - (Sum ({DataTable1.Starting_Value}, {DataTable1.Name})) - (Sum ({DataTable1.Investments}, {DataTable1.Name})) + (Sum ({DataTable1.Proceeds}, {DataTable1.Name})) + (Sum ({DataTable1.Interest_and_Dividends}, {DataTable1.Name})))/(Sum ({DataTable1.Starting_Value}, {DataTable1.Name})) * 100) + " %" 

輸出是這樣的:6.32%,而不是小數點後具有2號

,有沒有辦法只有1?我嘗試了以下沒有運氣:

toText(((Sum ({DataTable1.Ending_Value}, {DataTable1.Name})) - (Sum ({DataTable1.Starting_Value}, {DataTable1.Name})) - (Sum ({DataTable1.Investments}, {DataTable1.Name})) + (Sum ({DataTable1.Proceeds}, {DataTable1.Name})) + (Sum ({DataTable1.Interest_and_Dividends}, {DataTable1.Name})))/((Sum ({DataTable1.Starting_Value}, {DataTable1.Name})) * 100),1) + " %" 

B/C的輸出保持顯示我0.0%的一切

接下來,我想這:

(toText(((Sum ({DataTable1.Ending_Value}, {DataTable1.Name})) - (Sum ({DataTable1.Starting_Value}, {DataTable1.Name})) - (Sum ({DataTable1.Investments}, {DataTable1.Name})) + (Sum ({DataTable1.Proceeds}, {DataTable1.Name})) + (Sum ({DataTable1.Interest_and_Dividends}, {DataTable1.Name})))/(Sum ({DataTable1.Starting_Value}, {DataTable1.Name})) * 100) + " %"),1) 

沒有運氣,要麼。

任何人有什麼想法?

回答

1

您是否嘗試過使用右鍵單擊該字段並選擇「格式對象」時得到的數字格式選項?它比試圖讓ToText()做你想做的事更容易。

編輯:如果你想使用ToText(),請嘗試使用格式字符串,而不是1作爲你的第二個參數 - 我認爲這將做到這一點:

ToText(sum(...) + sum(...), "0.0") 
0

我喜歡雷的解決方案,但出於完整性也有this hacky method;如果你還需要一個貨幣符號,這顯然是錯誤的方法:

  1. 右鍵單擊數字字段並選擇格式。
  2. 轉到號碼選項卡,然後單擊自定義。
  3. 單擊貨幣符號選項卡。
  4. 單擊啓用貨幣符號。
  5. 更改貨幣符號爲「%」
  6. 位置改組合框「-123%」
  7. 單擊確定,確定退出並保存。
0

就試試這個:

  1. 右鍵單擊數字字段。
  2. 單擊自定義按鈕。
  3. 右鍵在十進制公式字段中的下面的公式。

    1 or if <yourfieldname>="condition" then 1 else 2 
    
  4. 確保四捨五入的小數點字段爲0.1或您的選擇。