Avoir 6 decimales java

Résolu
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. 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
    1. 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
      1. 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)
        1. 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,
          1. merci mais j avais trouve par une autre methode
            merci pour le lien