在Crystal Reports公式字段中使用ToText格式化字段

时间:2008-10-02 15:17:50

标签: crystal-reports

我正在尝试创建一个Crystal Reports公式字段(以计算价格中的百分比变化),如果特定报表字段为空,则返回“N / A”,但使用会计将一个数字返回到两位小数格式(括号括起来的负数),如果不是。

我能够管理的最接近的是:

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

然而,这表示使用负号的负数,而不是括号。

我尝试格式化'###。00;(###。00)'和'(###。00)等字符串,但这些字符被拒绝为无效。我怎样才能实现目标?

2 个答案:

答案 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')

上述逻辑应该是您正在寻找的。