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