Avoir 6 decimales java

Résolu
max3811 Messages postés 119 Statut Membre -  
max3811 Messages postés 119 Statut Membre -
Bonjour,
je souhaiterais avoir 6 decimales

voila une partie de mon code

import javax.swing.*;
class essai1
{
public static void main(String args[])

{
String ae,be,ne,he,message;
int a,b,h,w,n;

//je demande a l utilisateur d entrer une borne a entre 0 et 10
do
{ae = JOptionPane.showInputDialog("entrez la borne a comprise entre 0 et 10");
a = Integer.parseInt(ae);
}
while( a<0 ||a>10 );

// je demande a l utilisateur d entrer une borne b entre a et 10
do
{be = JOptionPane.showInputDialog("entrez la borne b comprise entre a et 10");
b = Integer.parseInt(be);
}
while( b<a ||b>10 );

// je demande a l utilisateur d entrer un intervalle >0
do
{ne = JOptionPane.showInputDialog("entrez le pas >0");
n = Integer.parseInt(ne);
}
while( n<=0);

// c est pour h et w que je voudrais avoir 6 decimales

h=(b-a)/n;
w=h/3;

en espérant que vous puissiez m aider

6 réponses

  1. malaik5 Messages postés 259 Date d'inscription   Statut Membre Dernière intervention   33
     
    bonjour,
    Deja tu veux que l'utilisateur donne ces 6chiffres ou bien c'est à toi de les generer ??

    * si à toi de le generer oriente toi vers des random !!
    * pour l'es conditions du while !!

    et je me pose d'autres questions, du coup veux tu stp donner lus de details sur ce que tu veux faire !!!!!!
    en plus t'as parlé de 6, je ne vois que 5 décimaux
    0
  2. danimo
     
    Salut,

    Tu ne peux avoir un chiffre avec 6 décimales pour h et w qui sont des entiers int.

    Pour avoir des nombres réels utilise les types double ou float...

    Cordialement,

    Dan
    0
  3. max3811 Messages postés 119 Statut Membre 12
     
    bojour,
    en fait je demande a un utilisateur d entrer

    [la borne a , la borne b , le nombre d interval n ] en chiffre entier

    avec la condition que a doit etre entre 0 et 10
    b entre a et10
    n >0
    et si c est pas le cas redemander a l utilisateur de mettre un nouveau nombre entier

    en suite j utilise les formules
    h=(b-a)/n
    w=h/3
    où il me faudrait 6 décimales
    (je réutilise w dans un calcul (w*[exp(-a)*a^2+exp(-b)*b^2]) et sans les 6 décimales j obtiens toujours 0 (ou presque) comme réponce

    a la fin je genere une boite de message avec les differentes valeurs entrées et la reponce du calcul avec
    JOptionPane.showMessageDialog(
    null,
    message,
    "réponce",
    JOptionPane.INFORMATION_MESSAGE
    );
    System.exit(0);

    j ai deja essayé plusieurs methodes mais pas correctement car elles ne fonctionnent pas

    en esperant avoir ete clair

    (PS: je debute)
    0
  4. max3811 Messages postés 119 Statut Membre 12
     
    ok merci danimo je vais essayer
    ca fonctione merci
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. danimo
     
    Re,

    Tu ne dis pas si tu as tes 6 décimales...

    En cas de besoin voici une méthode pour le faire:

    public static double floor(double d, int decim)
          {
             double p = Math.pow(10.0, decim);
             return Math.floor((d*p)+0.5) / p;
          }
    


    Et son utilisation:

    int nbDec = 6;
    double resultat = floor(w, nbDec); 
    System.out.println("\nRésultat arrondi avec " + nbDec + " décimales si nécessaire" + resultat);
    


    Un lien très utile:

    https://java.developpez.com/faq/java?page=Chaines-de-caracteres

    Choisir la ligne "Comment arrondir un nombre ?"

    Cordialement,
    0
  7. max3811 Messages postés 119 Statut Membre 12
     
    merci mais j avais trouve par une autre methode
    merci pour le lien
    0