Formattazione di un campo mediante ToText in un campo formula di Crystal Reports

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

  •  03-07-2019
  •  | 
  •  

Domanda

Sto provando a creare un campo formula Crystal Reports (per calcolare la variazione percentuale di un prezzo) che restituirà " N / A " se un determinato campo del rapporto è nullo, ma restituisce un numero con due decimali utilizzando il formato contabile (numeri negativi racchiusi tra parentesi) se non lo è.

Il più vicino che sono stato in grado di gestire è questo:

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

Tuttavia, ciò rappresenta numeri negativi usando un segno negativo, non parentesi.

Ho provato a formattare stringhe come '###. 00; (###. 00)' e '(###. 00)' ma queste sono state respinte in quanto non valide. Come posso raggiungere il mio obiettivo?

È stato utile?

Soluzione

Penso che tu stia cercando ToText(CCur(@Price}/{ValuationReport.YestPrice}*100-100))

Puoi usare CCur per convertire numeri o stringhe nei formati Curency. CCur (numero) o CCur(string)


Penso che questo potrebbe essere quello che stai cercando,

Sostituisci (ToText (CCur ({field})), " $ ", " ") che fornirà le parentesi per i numeri negativi

È un po 'confuso, ma non sono sicuro che CR sia molto gentile nei modi di formattazione

Altri suggerimenti

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

La logica sopra dovrebbe essere ciò che stai cercando.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top