Une méthode pour générer à partir d'un double un autre qui a un 3 chiffres après la virgule

Soyez le premier à donner votre avis sur cette source.

Snippet vu 4 625 fois - Téléchargée 31 fois

Contenu du snippet

c'est un peu bidon mais je crois que c'est mieux que la version qui utilise les chaines de caractères en temps d'exécution et en espace mémoire

Source / Exemple :


#include <stdio.h>
#include <math.h>
#include<conio.h>
#include <string.h>
void main(void)
{
double i=111.22223322;
puts("commencer");
printf("le nombre désiré est %lf\n",(double)((int)((i-floor(i))*1000))/1000+floor(i));
}

A voir également

Ajouter un commentaire Commentaires
Messages postés
22
Date d'inscription
samedi 10 janvier 2004
Statut
Membre
Dernière intervention
4 octobre 2007

Je l'avoue, ces headers sont inutiles mais j'ai pris l'habitude de les mettre (je les utilise presque tout le temps).
Messages postés
1
Date d'inscription
lundi 24 octobre 2005
Statut
Membre
Dernière intervention
24 octobre 2005

Je pense qu'il y a plus simple pour arrondir a x chiffres, en n'utilisant qu'une seule fois la fonction floor(), en supprimant les cast, en supprimant les sommes et soustractions :

double i=111.22223322;
double arrondi = floor(i*1000.0)/1000.0;
Messages postés
104
Date d'inscription
samedi 7 décembre 2002
Statut
Membre
Dernière intervention
17 août 2009

Le titre "arrondir au troisième chiffre après la virgule" aurait été plus simple.
Sinon je ne pense pas de tout les includes soit requis conio.h et string.h servent a quoi ?

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.

Du même auteur (islem1982)