Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1536 connectés 

  FORUM HardWare.fr
  Programmation

  [Java] afficher seulement 3 chiffres apres la virgule...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Java] afficher seulement 3 chiffres apres la virgule...

n°76680
_alf
Posté le 29-11-2001 à 18:15:57  profilanswer
 

... pour un double c possible ?

mood
Publicité
Posté le 29-11-2001 à 18:15:57  profilanswer
 

n°76700
maitre_mul​ot
Posté le 29-11-2001 à 19:55:02  profilanswer
 

si c pour affichage, tu mets ton double dans un String et apres tu eneleves les caracteres que tu veux po.

n°76701
maitre_mul​ot
Posté le 29-11-2001 à 19:56:12  profilanswer
 

euh non en fait c po bien car tu peux po savoir a l'avance combien de carac fera ton chiff avec 3 chiff apres la virgule
desole

n°76704
Tricky
En tapinant.
Posté le 29-11-2001 à 20:06:24  profilanswer
 

bah maitre_mulot à raison...fo mettre ton double dans un string ou un stringbuffer.....apres tu fait une recherche sur le "."  ou "," et tu extrais ton chiffre avec un substring(0,indexVirgule+3)...ou un truc  du genre....fo voir mais sa devrais etre un truc comme sa ;)
 
A++

n°76718
_alf
Posté le 29-11-2001 à 20:42:22  profilanswer
 

ok donc autant pour moi ca m'apprendra à être clair : le problème vient principalement du fait que j'arrive quelquefois à des valeurs extremement petites du style 1.23456789E-4 (notez bien le E a la fin) ce qui fait qu'en castant ce double en string et en faisant un substring ben c me renvoie un 1.234 alors que c'est pas ca du tout... j'ai aussi essaye en multipliant le double en question par 1000 puis en le castant en int pour le rediviser par 1000 (c totalement nimp mais chuis a cours d'idees) mais la le pb c que quelquefois il reste un 4eme chiffre apres la virgule (qui est un 0 mais pas moyen de le virer "proprement" )... j'ai aussi essaye avec la classe decimalformat qui me fait exactement les mêmes erreurs en sortie  :(

 

[edtdd]--Message édité par _aLF--[/edtdd]

n°76720
youdontcar​e
Posté le 29-11-2001 à 20:43:26  profilanswer
 

ou sinon : double d = (int(d*1000))/1000;
 
edit : bon apparemment ça marche pas en java :D
edit2 : quoique tu peux transformer ce nombre résultant en string, analyser la string et couper ce qu'il reste après les trois chiffres de la partie décimale.

 

[edtdd]--Message édité par youdontcare--[/edtdd]

n°76724
_alf
Posté le 29-11-2001 à 20:56:09  profilanswer
 

comme dit j'ai teste de 3 manieres differentes :
 
int i = (int)(d*1000);
double r = (double)i / 1000;
return r;
--> resultat : un quatrieme chiffre qui traine desfois derriere
 
java.text.DecimalFormat form = new java.text.DecimalFormat( "0.000" );
try { return form.parse(form.format(d)); }
catch ( Exception e ) {}
--> resultat : idem
 
return (new Double((""+d).substring(0, 4))).doubleValue();
--> resultat : faux quand nombre tres petits (avec de E^-x)

n°76726
_alf
Posté le 29-11-2001 à 20:59:15  profilanswer
 

le truc sympa c ke  
 
return  ((double)(Math.round(d*100))) / 100.0;
ca marche impeccable
 
alors qu'en mettant des 1000 au lieu des 100 ben ca me fout des 0 "parasites"

n°1935658
Taz
bisounours-codeur
Posté le 27-10-2009 à 12:34:13  profilanswer
 

Joli up.
RTFM printf


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [Java] afficher seulement 3 chiffres apres la virgule...

 

Sujets relatifs
[JAVA] Fichiers propertiescompilo java
Question en java !!!NEWBIE en JAVA:c koi??? ça sert à koi????ça paie bien??
[JAVA] URGENT projet ia : réseau de neuronesEn Java, simplement afficher une image, jpg ou gif dans une fenêtre??
JAVA comment faire[Java] les vecteurs
comment faire pour demander un pass pour afficher une page web 
Plus de sujets relatifs à : [Java] afficher seulement 3 chiffres apres la virgule...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR