Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Crystal Reports
Crystal Reports Forum d'entraide sur Crystal Reports. Avant de poster --> FAQ Crystal, Tutoriels Crystal
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/06/2006, 16h22   #1
Membre du Club
 
Inscription : juin 2005
Messages : 136
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 136
Points : 46
Points : 46
Par défaut [CR 10] Virgule flottante

hi everybody,

Petite question Svp,
j'ai un champs prix unitaire qui est formaté à 5 décimales : XXX,XXXXX
Tous les prix apparaissent donc de cette manière :
12,90000 ou 0,01230 ou 23,382000

Donc dans crystal , je selectionne le champs mise en forme --> nombre--> personnalisé et dans décimale je mets 100000 et dans arrondi je met 0,00001.

Seulement voila, quand le prix est de 12,90000 , je voudrais seulement affiché 12,90 , ou quand il est de 23,382000 , affiché 23,382.

Je pense qu'il faudrait aller dans l'editeur de formule qu'il y a à coté de décimale et arrondi mais je ne sais vraiment pas quoi écrire dedans.

Si quelqu'un pouvait m'aider svp, ca serait vraiment sympa.
alpachico est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2006, 14h49   #2
Invité régulier
 
Inscription : août 2005
Messages : 9
Détails du profil
Informations personnelles :
Âge : 41
Localisation : Belgique

Informations forums :
Inscription : août 2005
Messages : 9
Points : 9
Points : 9
Bonjour Alpachico,

Dans l'éditeur de formule "décimales" et "arrondi", essaye la formule suivante (en remplaçant {Champ numérique} par le champ numérique ...) :

Local numberVar lNum := {Champ numérique};
Local numberVar lNumReturn := 0;
Local numberVar lNumNombreMaximumDeDecimales := 10;
Local numberVar i := 0;

for i := lNumNombreMaximumDeDecimales to 1 step -1 do
(
if (lNum * (10 ^ i) mod 10 <> 0) then
(
lNumReturn := i;
exit for
)
);

lNumReturn;


Bonne fin de journée ...

Thierry.
herensth est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2006, 17h30   #3
Membre du Club
 
Inscription : juin 2005
Messages : 136
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 136
Points : 46
Points : 46
merci pour ta réponse , c'est sympa, mais j'ai trouvé ce matin une autre formule qui marche super bien aussi. J'ai pas eu le temps d'essayer la tienne , désolé.

Voila la formule magique:

if val(right(totext({champs},5),5)) = 0 then 2 else
if val(right(totext({champs},5),4)) = 0 then 2 else
if val(right(totext({champs},5),3)) = 0 then 2 else
if val(right(totext({champs},5),2)) = 0 then 3 else
if val(right(totext({champs},5),1)) = 0 then 4 else 5

pour la mettre en oeuvre , il faut aller dans mise en forme--> personnaliser
et dans l'editeur de formule de décimale.
alpachico est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h09.


 
 
 
 
Partenaires

Hébergement Web