yohannc Posté(e) le 15 février 2008 Signaler Partager Posté(e) le 15 février 2008 Bon voilà j'ai un gros soucis avec les nombres. Quand j'effectue des opérations ils sont complètement buggé, par exemple : //*********************** new float:a = 5; new float:b = 2; new float:c = 5; new float:d = 2.0; new float:e = 5.0; new float:f = 2; new float:g = 5.0; new float:h = 2.0; new float:r1 = floatdiv(a,; new float:r2 = floatdiv(c,d); new float:r3 = floatdiv(e,f); new float:r4 = floatdiv(g,h); printf("\n r1=%f r2=%f r3=%f r4=%f",r1,r2,r3,r4); // r1 = 2.5 r2 = 0 r3 = 0 r4 = 2.5 //**************************************** Vous voyez que r2 et r3 sont buggés alors que ce sont des float aussi. J'aimerai donc savoir : -Comment créer et afficher des entiers -Comment arrondir un nombre (floatround marche pas) C'est pour un système de vote que je suis en train de faire. A la fin d'une partie, chaque utilisateur a 60 sec pour taper par exemple : /Rejouer 10 (pour rejouer 10 min à ce mode) Le résultat est une moyenne des joueurs actifs (si un joueur ne vote pas c'est comme si il vote 0 min). Les problèmes que j'ai : - Quand une personne a voté, ça affiche genre : "Robert vote pour 25.00000 minutes". - Le calcul du résultat donne un nombre énorme; En java j'ai aucun soucis avec les variables mais là, mais dans ce langage c'est vraiment pas facile. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
yohannc Posté(e) le 16 février 2008 Auteur Signaler Partager Posté(e) le 16 février 2008 Bon j'ai en partie résolution mon problème, c'est pas très propre mais ça à l'avantage de fonctionner, j'ai créé une p'tite fonction : On entre un float par exemple, et ça retourne un entier. int: VersInt(nombre){ new string[256]; format(string, sizeof(string),"%f",nombre); if(nombre < 10){ strmid(string,string,0,1); } else if(nombre < 100){ strmid(string,string,0,2); } else if(nombre < 1000){ strmid(string,string,0,3); } new int:nb = strval(string); return nb; } On voit bien que le problème est qu'il faut définir pour chaques puissances de 10 donc c'est pas super. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.