Arrondir un nombre à n décimal

Contenu du snippet

    public double getArround(double d, int nDecimal) {
        // Début Traitement
        nDecimal += 2;   // Ajout pour gestion du zéro et de la virgule avant les decimal
        int primary = (int) d;  // Récupération de l'entier précédent la virgule
        d -= primary;   // Séparation de l'entier précédent la virgule et celui qui la suit
        String sDbl = Double.toString(d);   // Conversion du résultat de la séparation en texte pour sélection de chaine
        if (sDbl.length()>(nDecimal)) {   // Si le nombre de caractère dans la chaine est supérieur au nombre de décimal...
            d = Double.valueOf(sDbl.substring(nDecimal,nDecimal+1)).doubleValue();  // récupération du chiffre qui suit la dernière décimal souhaité
            if (d >= 5) {   // si ce chiffre est > à 5 alors ...
                d=(Double.valueOf(sDbl.substring(2,nDecimal)).doubleValue() + 1)/100; // on ajout 1 à la dernière décimal souhaité et on divise par 100 pour faire l'addition
            }
        }
        d += (double) primary;  // on rassemble les deux morceaux pour formé le nouveau nombre
        // Fin Traitement
        return d;   // Retourne la valeur
    }


Compatibilité : Java

Disponible dans d'autres langages :

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.