kaervas
Messages postés51Date d'inscriptionvendredi 25 novembre 2005StatutMembreDernière intervention19 avril 2008
-
8 déc. 2005 à 23:30
kaervas
Messages postés51Date d'inscriptionvendredi 25 novembre 2005StatutMembreDernière intervention19 avril 2008
-
13 déc. 2005 à 20:43
Bonjour,
je suis en train de coder la fonction %f de printf, je galere un peu en fait!
Pour le %d on utilise des modulos et des puissances decroissantes, bon. Mais pour les floats les modulos on pas l'air de marcher...
J'avais pense en couvertissant le float en int, du genre j'ai 3.12, je le passe en int ca me donne 3, j'affiche le nbre, j'affiche le point, je reprends mon float je multiplis par 10 puissance (le nombre de chiffre que je veux apres la virgule), je repasse en int, et j'affiche les chiffres avec des modulos et des multiplications par 10 en n'affichant pas le nombre de chiffre qui correspondront a la partie entiere situer en tete de l'int.
En gros si c'est possible a faire il me faut un truc pour convertir un flat en int,
Quelqu'un a une idee?
kaervas
Messages postés51Date d'inscriptionvendredi 25 novembre 2005StatutMembreDernière intervention19 avril 2008 13 déc. 2005 à 20:43
Pour info trouver quelque chose qui a l'air de marcher,
comparer un int et un float dans une boucle.
pour la partie entiere, incrementer l'int de 1 jusqu'a avoir la valeure du float, pour la partie flotante, retrancher la partie entiere trouvee (en la mettant dans un float de la meme facon) pour avoir 0,xxx, multiplier par 10 puissance le nombre de chiffre que vous voulez (6) pour le f par defaut, et mettre dans un int. afficher le premier int avec modulos et multiplications par 10, un point, et le deuxieme de la meme facon. C'est lent mais ca peut aller plus vite si, dans les boucle au debut on increment de 1million, si le nombre en superieur on retranche 1 million et on ajoute 100 000, si encore superieur on retranche 100 000 ect, jusqu'a avoir une precision de 1 pour le nombre precisement.