Arrondir un double [Résolu]

Signaler
Messages postés
101
Date d'inscription
dimanche 1 mai 2005
Statut
Membre
Dernière intervention
13 décembre 2007
-
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
-
Bonjour, est ce que quelqu'un pourrait m'indiquer comment m'arrondir un double à 2 chiffres derrière la virgule ?

Je ne cherche pas à afficher le chiffre à 2 chiffres derrière la virgule mais à arrondir la variable avec les règles monétaire classique ( <0.005 -> 0.00 ;  = 0.005 -> 0.01; >0.005 -> 0.01 ) et à supprimer tous les chiffres qui ne m'interessent pas ou les mettre à 0, je me debrouillerais apres pour ne pas afficher les zéros.

Merci d'avance

7 réponses

Messages postés
101
Date d'inscription
dimanche 1 mai 2005
Statut
Membre
Dernière intervention
13 décembre 2007
1
Bon alors finalement j'ai utilisé ceci

  CString str1;
  str1.Format("%.2f", double );
  double = atof(str1);

Merci à tous
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
Tu as essayé sprintf() ?

ciao...
BruNews, MVP VC++
Messages postés
101
Date d'inscription
dimanche 1 mai 2005
Statut
Membre
Dernière intervention
13 décembre 2007
1
sprintf est utilisé pour des chaine de caractère non?
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
eh ben c'est le plus simple pour toi.
Mets dans une chaine au format voulu et repasse le en double.

Sinon c'est ASM, au choix.

ciao...
BruNews, MVP VC++
Messages postés
87
Date d'inscription
jeudi 22 juin 2006
Statut
Membre
Dernière intervention
24 septembre 2007

Je pense que la solution ASM serait préférable (coté optimisation :p).
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
ou alors SI tu es certain que tu n'as pas de trop grands nombres:

double d;
...
d = (double) (int) ((d + 0.49) * 100.0);
d /= 100.0;

Fait à la va vite, vérifie si 0.49 te va.

ciao...
BruNews, MVP VC++
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
Cphil51, je viens de mettre à jour:
http://brunews.com/brunews/download/Asm.zip

prog FPU-MMX-SSE, sait-on jamais que qlq'un en veuille.

ciao...
BruNews, MVP VC++