10

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

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

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

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

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

4

2 回答 2

10

我想你正在寻找ToText(CCur(@Price}/{ValuationReport.YestPrice}*100-100))

您可以使用CCur将数字或字符串转换为货币格式。 CCur(number)或者CCur(string)


我想这可能是你正在寻找的,

Replace (ToText(CCur({field})),"$" , "") 这将给出负数的括号

这有点hacky,但我不确定CR在格式化方式上是否非常友好

于 2008-10-02T15:29:02.163 回答
0
if(isnull({uspRptMonthlyGasRevenueByGas;1.YearTotal})) = true then
   "nd"
else
    totext({uspRptMonthlyGasRevenueByGas;1.YearTotal},'###.00')

上面的逻辑应该是你要找的。

于 2009-04-27T04:38:22.037 回答