Форматирование поля с использованием ToText в поле формулы Crystal Reports - PullRequest
8 голосов
/ 02 октября 2008

Я пытаюсь создать поле формулы Crystal Reports (для расчета процентного изменения цены), которое будет возвращать «N / A», если определенное поле отчета равно нулю, но вернуть число с двумя десятичными разрядами, используя учет формат (отрицательные числа в круглых скобках), если это не так.

Самое близкое, что мне удалось сделать, это:

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

Однако, это отрицательные числа с использованием отрицательного знака, а не скобок.

Я пробовал форматировать строки, такие как «###. 00; (###. 00)» и «(###. 00)», но они были отклонены как недействительные. Как мне достичь своей цели?

Ответы [ 2 ]

9 голосов
/ 02 октября 2008

Я думаю, что вы ищете ToText(CCur(@Price}/{ValuationReport.YestPrice}*100-100))

Вы можете использовать CCur для преобразования чисел или строк в форматы Curency. CCur(number) или CCur(string)


Я думаю, это может быть то, что вы ищете,

Replace (ToText(CCur({field})),"$" , ""), что даст круглые скобки для отрицательных чисел

Это немного глупо, но я не уверен, что CR очень любезен в способах форматирования

0 голосов
/ 27 апреля 2009
if(isnull({uspRptMonthlyGasRevenueByGas;1.YearTotal})) = true then
   "nd"
else
    totext({uspRptMonthlyGasRevenueByGas;1.YearTotal},'###.00')

Приведенная выше логика должна быть тем, что вы ищете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...