Double après virgule

Résolu
bonjour,

comment utiliser 5 chiffre après la virgule dans un double /

0.78555555555555555555555 ----> 0.78555 pour faire les calcule

mon problème :

1.0308346562423834E-56 / 1.3141426781290985E-51 == 7.844160861664951E-6

normalement 0.7844160861664951E-6 --> j'ai besoin juste 0.78441

Merci.

2 réponses

  1. Merci
    mais comment fais ça /
    mon valeur = 0.75555 au lieu de 7.844160861664951E-6

    mon code

    double Prob,SProb;
    ...
    ... des opérations mathématique
    ...
    Prob=Prob/SProb;
    // Prob=1.0308346562423834E-56
    // SProb=1.3141426781290985E-51
    System.out.Println("la probabilité ="+Prob);

    le résultats : la probabilité = 7.844160861664951E-6

    au lieu de 0.7844160861664951E-6

    ci pas l'affichage ci le contenu de Mon Valeur pour faire des outres Opérations
    et encore Merci;
    0
    1. Contributeur
      'lut
      System.out.println(String.format("%.5f", maValeur));

      from human import idiocy
      del idiocy
      0
      1. Modérateur
        Bonjour,

        Pour info on peut faire exactement la même chose comme ceci :

        System.out.printf("%.5f", maValeur);

        Cependant, ça c'est pour faire de l'affichage, si on veut limiter le nombre de décimal pendant les calculs il faudra plutôt utiliser des BigDecimal.

        MathContext mc = new MathContext(5);
        
        BigDecimal b1 = new BigDecimal(0.78555555555555555555555, mc);
        System.out.println(b1); // 0.78556
        
        BigDecimal b2 = new BigDecimal(1.0308346562423834E-56, mc);
        System.out.println(b2); // 1.0308E-56
        
        BigDecimal b3 = new BigDecimal(1.3141426781290985E-51, mc);
        System.out.println(b3); // 1.3141E-51
        
        BigDecimal b4 = b2.divide(b3, mc);
        System.out.println(b4); // 0.0000078442
        0
      2. Contributeur
        J'ai préféré mettre le
        format
        à part si par ex. il comptait enregistrer le float formaté dans une variable String, pour éventuellement faire du traitement dessus.
        Mais oui,
        System.out.printf
        c'est plus court.
        0
      3. Merci gravgun ,
        Merci beaucoup m'avez montré la solution
        0