Posez votre question Signaler

Arrondi en java

Johanna - Dernière réponse le 29 nov 2007 à 16:53
Bonjour,
Je souhaiterai arraondir un nombre de type "double" qui a un dizaine de chiffres après la virgule afin qu'il n'en est plus que 2 au maximum.
J'ai trouvé la fonction round mais cela provoque une erreur à la compilation "double cannot be dereferenced".
(J'utilise Java 1.4.1.)
Si vous pouviez m'aider
Merci par avance
Lire la suite 

Arrondi en java »

4 réponses
Réponse
+7
moins plus
empêche des erreurs

public class RoundTest
{   
    public static void main(String[] args)
    {
        double num = myRound(15.6666666, 2);
        System.out.println( num ); //it’s a double
        
        String str = myRound(15.6666666, "0.00");
        System.out.println( str ); //it’s a String
    }
    
    private static double myRound(double value, int decimalPlaces)
    {
        if(decimalPlaces < 0) { return value; }
        double augmentation = Math.pow(10, decimalPlaces);
        return Math.round(value * augmentation) / augmentation;
    }
    
    private static String myRound(double value, String format)
    {
        if(format == null  ||  format.length() <= 0) { return String.valueOf(value); }
        return new DecimalFormat(format).format(value);
    }
}
Ajouter un commentaire
Réponse
+2
moins plus
static public double arrondir(double value, int n) {
double r = (Math.round(value * Math.pow(10, n))) / (Math.pow(10, n));
return r;
}

static public Double arrondir(Double value, int n) {
double r = (Math.round(value.doubleValue() * Math.pow(10, n))) / (Math.pow(10, n));
return new Double(r);
}

==>Exemple d'utilisation : arrondir(new Double(0.004),2) ;//arrondi à la 2eme décimale
Ajouter un commentaire
Réponse
-2
moins plus
Salut,
voilà qui pourrait t'aider

// Methode arrondi
//--------------
// Renvoie un reel avec 2 chiffres apres la virgule
public double arrondi(double val) {return (Math.floor(val*100.0))/100;}

Bon java
puce
philtrain - 7 jan 2004 à 13:33
Bonjour,
pour plus de précision, je dirais:
public double arrondi(double val) {
return (Math.floor(val*100+0.5))/100;
}
a+
Ajouter un commentaire
Ce document intitulé « arrondi en java » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
5 extensions si vous voulez revenir à l'ancien Facebook