Affichage d'un double sous forme fractionnaire

Résolu
Utilisateur anonyme -  
 Utilisateur anonyme -
Bonjour,

J'ai un petit problème en Java (Eclipse)
Ma question est toute simple : comment est-ce-qu'on pourrait afficher un double sous forme fractionnaire ?
Par exemple imaginons que, suite à un calcul, je tombe sur le résultat de type double : 1/3, le problème c'est que Java va m'afficher 0,3333333333333.

Merci.
EchoIsON

1 réponse

  1. KX Messages postés 19031 Statut Modérateur 3 020
     
    Bonjour,

    Déjà il ne faudrait pas travailler avec des double, parce que c'est un type de données flottantes dont la représentation interne est en binaire, alors que toi tu veux travailler avec des entiers décimaux (au numérateur et au dénominateur).

    Ce que tu veux faire n'existe pas directement en Java, mais c'est assez facile à faire, voici une base à compléter :

    import java.math.BigInteger;
    
    public class Fraction extends Number {
    
        private final BigInteger numerator;
        private final BigInteger denominator;
    
        public Fraction(long numerator, long denominator) {
            this.numerator = BigInteger.valueOf(numerator);
            this.denominator = BigInteger.valueOf(denominator);
        }
    
        @Override
        public String toString() {
            return numerator + "/" + denominator;
        }
    }
    1
    1. Utilisateur anonyme
       
      Merci.
      0