我正在尝试创建一个Crystal Reports公式字段(以计算价格中的百分比变化),如果特定报表字段为空,则返回“N / A”,但使用会计将一个数字返回到两位小数格式(括号括起来的负数),如果不是。
我能够管理的最接近的是:
If IsNull({ValuationReport.YestPrice}) Then
'N/A'
Else
ToText({@Price}/{ValuationReport.YestPrice}*100-100, '###.00', 2)
然而,这表示使用负号的负数,而不是括号。
我尝试格式化'###。00;(###。00)'和'(###。00)等字符串,但这些字符被拒绝为无效。我怎样才能实现目标?
答案 0 :(得分:9)
我认为您正在寻找ToText(CCur(@Price}/{ValuationReport.YestPrice}*100-100))
您可以使用CCur
将数字或字符串转换为Curency格式。 CCur(number)
或CCur(string)
我认为这可能就是你要找的东西,
Replace (ToText(CCur({field})),"$" , "")
会给出括号的括号
有点hacky,但我不确定CR在格式化方面是非常善良的
答案 1 :(得分:0)
if(isnull({uspRptMonthlyGasRevenueByGas;1.YearTotal})) = true then
"nd"
else
totext({uspRptMonthlyGasRevenueByGas;1.YearTotal},'###.00')
上述逻辑应该是您正在寻找的。 p>