Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Membre à l'essai
    afficher un maximum de chiffre à droite aprés la virgule
    Bonjour,
    J'ai besoin pour un programme d'afficher un maximum de chiffre après la virgule
    J'ai choisi PI comme exemple
    Mon code
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    import java.lang.Math;
    import java.math.BigDecimal;
    public class Pi {
     
    	public static void main(String[] args) {
    		BigDecimal pi = new BigDecimal(Math.PI);
    		pi = pi.setScale(60, BigDecimal.ROUND_HALF_UP);
    		/*double b;
    		Double pi = new Double(Math.PI);
    		String result = pi.toString();*/
    		System.out.println(pi);
    	}
     
    }

    et j'obtiens 3.141592653589793115997963468544185161590576171875000000000000
    c'est complété par des zeros
    Merci pour votre aide

  2. #2
    Modérateur

    ................

    Bah oui, Math.PI c'est un double, c'est aussi près de la valeur de pi qu'un double peut contenir, et pour plus de précision que ça, ben il peut rien y faire.

    Tu ne pensais pas sérieusement que c'est comme ça qu'on demande à un ordinateur de calculer les décimales de pi ? Ça demande plus de travail que ça.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre à l'essai
    Dans la rubrique débutant java il y a des débutant en java ... et j'ai jamais fait de prog utilisant des maths

    Une piste peut être?

  4. #4
    Modérateur

    Ben non, c'est trop compliqué. Il faut vraiment faire des choses plus simples quand on apprend.

    Pour te donner une idée sur un problème comme celui-ci, si une recherche Google ne te permet pas de t'en sortir seul, alors ce n'est pas la peine d'essayer.

    Bref une méthode que je connais c'est de se baser sur le développement limité d'une série convergente vers pi, et calculer ce développement limité de sorte d'avoir une précision où l'erreur est inférieure à 10 puissance moins N, avec N le nombre de décimales voulues. Et effectivement, bien entendu utiliser BigDecimal pour gérer pour nous les complications de représentation de nombres à différentes échelles.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre à l'essai
    J'apprend java pas la prog
    Je vais vous expliquer mon probleme
    Pi est surement un nombre univers autrement dit du point de vu numérique on peut tout y trouver
    date de naissance ,tous les romans d'un auteur absolument tout ce qui a etait ecrit ou pas ecrit
    Et donc je voudrais faire un programme qui trouve une date de naissance saisie
    Effectivement niveau mémoire ça risque de griller un pc
    Je vais essayer de me traduire vos explications mathématiques ( c'est pas le calcul de monte carlo?)

    Mais c'est vraiment impossible à faire?

  6. #6
    Modérateur

    Trouver une date, oui c'est impossible à faire. Elles sont effectivement quelque part dans pi, mais trop loin pour qu'un ordinateur comme les nôtres les trouvent.

    Calculer des décimales de pi à précision arbitraire n'est pas du tout impossible, du moment que ça reste "arbitraire mais pas plus loin que ce qu'un ordinateur réél peut faire". Mais ça demande d'être quand même bien à l'aise.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre à l'essai
    Merci beaucoup
    Je m'en doutais un peu que c'etait impossible vu que j'ai trouvé aucun programme ou applis qui le fait
    Merci pour vos réponses