Nombre de décimales avec switch ??

Résolu
s_lannois Messages postés 3 Date d'inscription dimanche 15 octobre 2006 Statut Membre Dernière intervention 9 février 2007 - 8 févr. 2007 à 19:54
s_lannois Messages postés 3 Date d'inscription dimanche 15 octobre 2006 Statut Membre Dernière intervention 9 février 2007 - 9 févr. 2007 à 11:04
Bonjour,

Je voudrais afficher le résultat d'une division avec un nombre de décimales qui serait fonction d'un chiffre rentré par l'utilisateur.

J'utilise ce code :

                   switch(c)
                {
                case 0:
                    DecimalFormat nbrDec=new DecimalFormat("0.0");nbrDec.format(div=a/b);
                    break;
                    case 1:
                    DecimalFormat nbrDec=new DecimalFormat("0.0");nbrDec.format(div=a/b);
                    break;
                    case 2:
                    DecimalFormat nbrDec=new DecimalFormat("0.00");nbrDec.format(div=a/b);
                    break;
                    case 3:
                    DecimalFormat nbrDec=new DecimalFormat("0.000");nbrDec.format(div=a/b);
                    break;
                    case 4:
                    DecimalFormat nbrDec=new DecimalFormat("0.0000");nbrDec.format(div=a/b);
                    break;   
                default:System.out.println("nb de décimales incorect : max 4!");                   
                }
                str="Valeur : " +div;
            quest4.setText(String.valueOf(str));

Voici le message d'erreur pour chaque operation "DecimalFormat" :

Dec is already defined in actionPerformed(java.awt.event.ActionEvent)
                    DecimalFormat Dec=new DecimalFormat("0.0");Dec.format(div=a/b);

Quelqu'un a une idée d'ou peut venir le problème ?

Merci d'avance pour vos réponses :-)

P.S : les réponses de certaines personnes frustrée comme "va sur google.fr" ou "t'as pas lu le tutorial y" peuvent s'abstenir. Je viens sur ce forum à la recherche d'aide, merci.

3 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
9 févr. 2007 à 07:00
Ton algo peut-être largement simplifié avec une boucle for :
String format = "0.0";
for (int i = 1; i < c; ++i) {
    format += "0";
}
DecimalFormat nbrDec=new DecimalFormat(format);
div = a / b;
nbrDec.format(div);

Note : si des "frustrés" te disent d'aller voir google ou la javadoc, c'est qu'il y a sûrement une raison, tu crois pas ? C'est sûrement pour te faire remarque que tu trouverai plus vite en cherchant un minimum par toi même plutôt qu'en demandant sur le forum... Bien qu'ici ta question est légitime
3
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
9 févr. 2007 à 09:31
Salut,

lol les "frustrés"...
<troll>va voir sur google et/ou la javadoc au lieu de perdre du temps à attendre que quelqu'un te réponde</troll>

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA
0
s_lannois Messages postés 3 Date d'inscription dimanche 15 octobre 2006 Statut Membre Dernière intervention 9 février 2007
9 févr. 2007 à 11:04
Merci pour l'astuce DARKSIDIOUS ;-)
0
Rejoignez-nous