Java limiter les nombre après la virgule

muntu -  
 abrouch -
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. danimo
     
    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. abrouch
       
      Merci bien votre code m'a bien servit...
      0
  2. muntu
     
    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
  3. danimo
     
    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