Java limiter les nombre après la virgule

Bonjour,

SVP, je suis débutant en java, est ce que quelqu'un peut bien m'expliquer ce fait cette instrution %.10e ? au fait je sais que je fixe le 10 chiffres après la virgule, mais je comprend pas pourquoi il faut mettre le e après 10 ? et le % veut signifier quoi ? et qd j'essais d'utiliser la fonction df(format) il n'affiche pas le resultat.
Configuration: Windows Vista
Firefox 3.0.14

3 réponses

  1. Je te conseille de consulter la classe Math de la javaDoc:

    https://docs.oracle.com/javase/6/docs/api/ et cliquer sur Math dans la fenêtre All Classes

    et peut-être aussi

    https://fr.wikipedia.org/wiki/Calcul_int%C3%A9gral

    Ou tout simplement avec Google de rechercher >>>> calcul integral en java

    Concernant la demande correspondant au titre de ton message, il suffit (peut-être) que tu ajoutes dérrière
    System.out.printf("Intégrale f(x)dx entre [a,b] est = %.5e",t);

    ces quelques lignes:

             System.out.println("\n\nVERSION AVEC ARRONDI:");
             double dNombre = t;
             System.out.println("Le nombre (double) avant arrondi: " + dNombre);
             String masque = new String("#0.##");
             DecimalFormat form = new DecimalFormat(masque);  // import java.text.DecimalFormat;
             System.out.println("dNombre arrondi: " + form.format(dNombre));


    Cordialement,

    Dan
    -2
    1. Merci,

      mais mon code c'est :

      import java.math.*;

      public class Trapeze {

      static double f(double x)
      {
      return Math.sqrt(x);

      }

      /**
      * @param args
      */
      public static void main(String[] args) {
      // TODO Auto-generated method stub

      int i,n;
      double s,t=0,x;
      double a,b,h;

      Scanner sc = new Scanner(System.in);

      System.out.println(" Entrer la valeur de borne inferieure SVP !");

      a = sc.nextDouble();

      System.out.println("Entrer la valeur de borne superieure SVP !");

      b = sc.nextDouble();

      while(a>b){

      System.out.println("la borne inferieure ne peut pas être superieure à la borne superieure !");

      System.out.println("Entrer la valeur de borne inferieure SVP !");

      a = sc.nextDouble();

      System.out.println("Entrer la valeur de borne superieure SVP !");

      b = sc.nextDouble();

      }
      n=10; /* Nombre d'itération */

      h=(b-a)/n;
      s=f(a)+f(b);

      for (i=0;i<=n-1;i++)
      {
      x=a+i*h;
      s=s+2*f(x);
      t=s*h/2;

      }

      System.out.printf("Intégrale f(x)dx entre [a,b] est = %.5e",t);

      }

      } et qd j fais c k tu me dis il n'affiche rien par contre ici, il affiche le resultat. Mais j'aimerai bien comprendre alors cette instruction %.5e, son rôle c'est quoi ?
      -2
      1. Salut,

        Ce serait bien si tu nous montrais ton code (la partie qui ne fonctionne pas) ce serait bien.

        Mais en attendant tu peux tester ce code:

        // avec arrondi d'un nombre à 10 décimales:
                 System.out.println("\nVERSION AVEC ARRONDI:");
                 //double dNombre = 0.45657;
                 double dNombre = 0.4567890123;
                 System.out.println("Le nombre (double) avant arrondi: " + dNombre);
                 String masque = new String("#0.##"); // le point est obligatoire (#0.##)
                 DecimalFormat form = new DecimalFormat(masque);  // import java.text.DecimalFormat;
                 System.out.println("dNombre arrondi: " + form.format(dNombre));
                 
        // sans arrondi de ce nombre:
                 System.out.println("\nVERSION SANS ARRONDI (troncature):");
                 String sNombre = Double.toString(dNombre);
                 System.out.println("sNombre: " + sNombre);
                 int index = sNombre.indexOf(".");
                 if (index != -1)
                 {
                    String sNombreTronque = sNombre.substring(0, index +3);
                    System.out.println("sNombreTronque: " + sNombreTronque + "  (String)");
                    double result = Double.parseDouble(sNombreTronque);
                    System.out.println("Resultat: " + result +"  (double)");
                 }
                 else
                    System.out.println("Pas de .");
              	// ne pas oublier de gerer les exceptions


        Cordialement,

        Dan
        -2
        1. Merci bien votre code m'a bien servit...
          0