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. merci mais j avais trouve par une autre methode
    merci pour le lien
    0
    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,
      0
      1. ok merci danimo je vais essayer
        ca fonctione merci
        0
        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)
          0
          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
            0
            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
              0