Crystal 9.0 e decimali

giovedì 24 settembre 2009 - 11.07

x69asterix Profilo | Junior Member

ho un problema e non riesco a venirne fuori, espongo subito la situazione:
devo visualizzare un report dove un determinato campo nel db sql è settato a float, quando eseguo le operazioni dal programma questo campo mi ritorna il valore del risultato così come viene calcolato, esempio: 0,2175 ma quando devo visualizzare il report questo viene settato in base al numero dei decimali, è questo non va bene perchè fin quando si tratta di 4 decimali è tutto ok, ma se il risultato da visualizzare è esempio: 0,7 questo mi viene visualizzato così: 0,7000 non ha senso, come ne esco fuori?

freeteo Profilo | Guru

Ciao,
hai provato a formattare il campo numerico nel designer del report facendo tastoDX->format object->tab "number" e definendo uno stile tuo di visualizzazione?

Ciao.

Matteo Raumer
[MVP Visual C#]
http://blogs.dotnethell.it/freeteo

x69asterix Profilo | Junior Member

ciao,
se ho capito bene SI!
se setto da lì i decimali a 3 ottengo: il valore iniziale è 0,1 e me lo visualizza 0,1000
o se puoi essere più chiaro.
ciao

freeteo Profilo | Guru

Ciao,
forse ho capito cosa vuoi fare, allora puoi andare sempre nella formattazione del numero, e definire lo stile (personalizzato) del numero, però alla voce "numero decimali" devi premere il pulsante "X+2" (qunindi lo metto soggetto ad una formula), e metti questa formula:

if Remainder ({@numero},1) > 0 then 3 else 0

così praticamente stai dicendo che se il numero ha decimali ti mostri 3 decimali, altrimenti ne metta zero, quindi via via a seconda del valore viene o meno formattato in un certo modo.

Ciao.

Matteo Raumer
[MVP Visual C#]
http://blogs.dotnethell.it/freeteo

x69asterix Profilo | Junior Member

ciao,
così non và perchè io non sò quanti decimali contiene potrebbero essere 1 - 3 -4

freeteo Profilo | Guru

>così non và perchè io non sò quanti decimali contiene potrebbero
>essere 1 - 3 -4
si ma li si parla di approssimazione e quindi i decimali andrebbero definiti a livello di scelta di visualizzazione, anche perchè cosa fai, la colonna del report con valori di decimali libera? non li formatti in modo da tenere una visualizzazione uniforme?

Cmq se non lo puoi sapere prima, probabilmente dipende dal sistema, e adesso non saprei se sia possibile recuperare il formato decimale impostato dal sistema...forse però potresti fare un "ToText" del campo e cercare la virgola e poi capito il numero di decimali, usarlo nella formula di prima...

Ciao.

Matteo Raumer
[MVP Visual C#]
http://blogs.dotnethell.it/freeteo
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5