Les Snippets

Connexion

Arrondir un nombre à n décimal

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 21/02/2007 14:01:43 et initié par cboulas [Liste]
Date de mise à jour : 10/11/2008 15:47:48
Vue : 29940
Catégorie(s) : Maths
Langages dispo pour ce code :
- Java
- C# 1.x, C# 2.x
- VB6, VBA
- C, C++, C++ .NET 1.x, C++ .NET 2.x, Java
- Javascript
- Windev
- VBA
- VB 2005, VB 2008, VB.NET 1.x



Langage : Java
Date ajout : 21/02/2007
Posté par cboulas [Liste]
DateMAJ : 21/02/2007

    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
    }

Langage : C# 1.x , C# 2.x
Date ajout : 22/02/2007
Posté par Bidou [Liste]
DateMAJ : 25/02/2007

// Voire les autres surcharges disponible
double d = Math.Round(myNumber, myDigits);


Langage : VB6 , VBA
Date ajout : 24/02/2007
Posté par mortalino [Liste]
MsgBox Round(10.1234567893)
Langage : C , C++ , C++ .NET 1.x , C++ .NET 2.x , Java
Date ajout : 04/06/2007
Posté par coucou747 [Liste]
float p10=Math.pow(10, n);
float r=((int)(f*p10))/p10;

Remarque :
n est le nombre de decimales, r le resultat, f le float a arrondir
en C, faut juste virer le Math. pour d'autres langages, comme le php, suffit de mettre un $ au nom des variables...
Langage : Javascript
Date ajout : 09/06/2007
Posté par yousfane [Liste]
alert(Math.round(décimal ,nombre));
Langage : Windev
Date ajout : 15/10/2007
Posté par floman321 [Liste]
Arrondi(5.565444,2)

Langage : VBA
Date ajout : 02/12/2007
Posté par us_30 [Liste]
DateMAJ : 10/11/2008
Public Enum ctArrondi
        ParDefaut = -1
        AuPlusPres
        ParExces
End Enum
Function Arrondir(ByVal Nb As DoubleByVal Multiple As Double, Optional ByVal Sens As ctArrondi = AuPlusPres) As Double
        Arrondir = IIf(Nb = Int(Nb / Multiple) * Multiple, Nb, Int(Nb / Multiple + (Sens +  1) / 2) * Multiple)
End Function

Remarque :
Cette fonction permet aussi d'arrondir à un multiple donnée, soit par défaut, au plus près ou par excès.

Exemple :
Arrondir(134.564,0.01) => 135.56 : arrondi classique
Arrondir(134.564,10,1) => 140 : arrondi par excès à un multiple de 10
La précision de l'arrondi est assurée jusqu'à 12 décimales.
Langage : VB.NET 1.x , VB 2005 , VB 2008
Date ajout : 10/11/2008
Posté par us_30 [Liste]
DateMAJ : 10/11/2008
Dim dRet As Double = Math.Round(33.331)
MessageBox.Show(dRet.ToString)


Snippets en rapport avec : Decimal, Arrondir, J2me, Formatnombre, Formatnumber



Codes sources en rapport avec : Decimal, Arrondir, J2me, Formatnombre, Formatnumber

{Delphi} ARRONDIR UN NOMBRE DÉCIMAL (FORMATFLOAT) - SAISIE VALIDE DE CE NOMBRE
Arrondir une valeur flottante, sans la virgule, avec x chiffres après la virgule, en notation scient...

{Visual Basic, VB6, VB.NET, VB 2005} ARRONDIR UN NOMBRE A 2 CHIFFRES APRES LA VIRGULE
...

{Delphi} CONVERTISSEUR D'UN NOMBRE DÉCIMAL EN BINAIRE ET HEXADECIMAL
Petit programme très simple qui convertit un nombre décimal que l'utilisateur saisi lui-même en nomb...

{JAVA / J2EE} SIMPLE CUBE COLORÉ POUR J2ME [JSR184] AVEC UNE DEMO SIMPLE
Cette source contient une classe J2ME qui permet de constuire un Node (cf documentation du jsr184) e...

{JAVA / J2EE} [J2ME] PLAN MÉTRO DE PARIS - PARIS SUBWAY MAP
Bonjour, voici ma première source qui permet de naviguer à travers le plan du métro parisien. Le...

{JAVA / J2EE} J2ME APPLICATION MATHÉMATIQUES FINANCIÈRES
calcul des intérêts composé simple , annuité.... cété une application pr valider un module de java ...

{PHP} CONVERTISEUR BINAIRE OCTAL DEC HEX...
Grâce à cet outil vous allez pouvoir convertir plus rappidement vos code en binaire, octal, decimal,...

{JAVA / J2EE} JEU DE MEMOIRE EN J2ME
Le jeu consiste à découvrir chaque couple d'image qui se ressemblent en deux clics successifs et ce ...

{JAVA / J2EE} JEU DES CLES SECTRETE AVEC LES SOCKET ET J2ME
Le jeu utilise une interface à haut niveau offerte à chacun des joueurs via le réseau avec les sock...

{JAVA / J2EE} APPLICATION MEMO EN J2ME POUR PALM TREO 500
Bonjour, Je débute en J2ME et je viens de m'acheter un Palm Treo 500 qui tourne sous Windows Mobi...