Formatar um campo usando ToText num campo de fórmulas de relatórios de cristais

estou a tentar criar um campo de fórmulas Crystal Reports (para calcular a variação percentual de um preço) que irá devolver "N/A" se um campo de relatório em particular for nulo, mas devolve um número com duas casas decimais usando o formato de contabilidade (números negativos rodeados por parêntesis) se não for.

o mais perto que consegui é isto:

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

No entanto, isto representa números negativos usando um sinal negativo, não parêntesis.

tentei formatar textos como '###.00;(###.00) 'and' (###.(') No entanto, estas foram rejeitadas como inválidas. Como posso alcançar meu objetivo?

Author: Phillip Wells, 2008-10-02

2 answers

Acho que estás à procura ToText(CCur(@Price}/{ValuationReport.YestPrice}*100-100))

Pode usar CCur para converter números ou texto para formatos de moeda. CCur(number) ou CCur(string)


Acho que isto pode ser o que estás à procura.

Replace (ToText(CCur({field})),"$" , "") Isso dará os parênteses para números negativos

É um pouco irregular,mas não sei se o CR é muito gentil nas formas de formatação.
 8
Author: Pyroglass, 2012-05-10 09:03:48
if(isnull({uspRptMonthlyGasRevenueByGas;1.YearTotal})) = true then
   "nd"
else
    totext({uspRptMonthlyGasRevenueByGas;1.YearTotal},'###.00')
{[2] a lógica acima deve ser o que você está procurando.
 0
Author: Glen Selle, 2015-10-26 01:06:43