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

10

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

我能够实现的最接近要求的公式如下:

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

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

我尝试了格式化字符串,例如'###.00;(###.00)'和'(###.00)',但这些都被视为无效。我该如何实现我的目标?

2个回答

11

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

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


我认为这可能是你要找的,

Replace (ToText(CCur({field})),"$" , "") 这将给负数加上括号。

这有点巧妙,但我不确定CR在格式方面是否非常友好。


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

以上逻辑应该是你在寻找的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接