2008-10-02 25 views
7

Belirli bir rapor alanı boşsa "N/A" döndürecek bir Crystal Reports formülü alanı (bir fiyattaki değişim yüzdesini hesaplamak için) oluşturmaya çalışıyorum ancak, eğer değilse, muhasebe formatını (parantezlerle çevrili negatif sayılar) kullanarak iki ondalık basamağa bir sayı döndürün. Ancak bu eksi işareti kullanarak negatif sayılar, parantez değil temsilBir Crystal Reports formül alanında ToText kullanarak bir alanı biçimlendirme

If IsNull({ValuationReport.YestPrice}) Then 
    'N/A' 
Else 
    ToText({@Price}/{ValuationReport.YestPrice}*100-100, '###.00', 2) 

:

yönettiğim mümkün olmuştur yakın budur.

'###. 00; (###. 00)' ve '(###. 00)' gibi biçim dizelerini denedim, ancak bunlar geçersiz olarak reddedildi. Amacıma nasıl ulaşabilirim?

cevap

8

Ben Sen curency biçimlerine numaraları veya dize dönüştürmek için CCur kullanabilirsiniz Eğer ToText(CCur(@Price}/{ValuationReport.YestPrice}*100-100))

aradığınız düşünüyorum. CCur(number) yoksa bu aradığınız şey olabilir düşünüyorum


CCur(string), negatif sayılar

Biraz hacky olduğu için parantez vermek, ama emin değilim olacak

Replace (ToText(CCur({field})),"$" , "")

CR,

0
if(isnull({uspRptMonthlyGasRevenueByGas;1.YearTotal})) = true then 
    "nd" 
else 
    totext({uspRptMonthlyGasRevenueByGas;1.YearTotal},'###.00') 

Biçimlendirme biçimlerinde çok önemlidir. Yukarıdaki mantık, aradığınız şey olmalıdır.

İlgili konular