Dar formato a un campo usando ToText en un campo de fórmula de Crystal Reports

StackOverflow https://stackoverflow.com/questions/162931

  •  03-07-2019
  •  | 
  •  

Pregunta

Estoy intentando crear un campo de fórmula de Crystal Reports (para calcular el cambio porcentual en un precio) que devolverá " N / A " si un campo de informe en particular es nulo, pero devuelve un número a dos decimales utilizando el formato de contabilidad (números negativos entre paréntesis) si no lo es.

Lo más cercano que he podido administrar es esto:

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

Sin embargo, esto representa números negativos utilizando un signo negativo, no paréntesis.

Probé cadenas de formato como '###. 00; (###. 00)' y '(###. 00)' pero estas fueron rechazadas por no ser válidas. ¿Cómo puedo lograr mi objetivo?

¿Fue útil?

Solución

Creo que está buscando ToText(CCur(@Price}/{ValuationReport.YestPrice}*100-100))

Puede usar CCur para convertir números o cadenas a formatos de Curency. CCur (número) o CCur(string)


Creo que esto puede ser lo que estás buscando,

Replace (ToText (CCur ({field})), " $ ", " " > que le dará los paréntesis para los números negativos

Es un poco intrincado, pero no estoy seguro de que CR sea muy amable en cuanto a la forma de formatear

Otros consejos

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

La lógica anterior debe ser lo que estás buscando.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top