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?
2 answers
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
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.