begin process at 2010 03 19 12:47:27
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Maths & Algorithmes

 > 

probleme cast...


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

probleme cast...

mercredi 8 juin 2005 à 20:49:04 | probleme cast...

darmoor

Salut!

En entrée, j'ai une valeur de type double.
et en sortie je doit avoir la même valeur mais arrondie au centième inferieur.

Ca  marche bien pratiquement avec toute les valeurs sauf certaines, j'ai trouvé dans le cas ou je tape 12.12 et il me sort 12.11 alors qu'il devrait sortir 12.12

la source:

#include <iostream>

using namespace std;

int main(void)
{
    double valeur, valeur_change,valeur_final;
    cin >> valeur; //cas de 12.12 avec des essais
   
    valeur_change = 100*(valeur - (int)valeur); // donc on obtient 0,12*100 soit 12
    valeur_final = (int)valeur_change; // et la on a la valeur entiere de 12 qui devrai etre 12 mais dans ce cas elle retourne 11....
    valeur_final /= 100; // apres je divise pas 100
    valeur_final += (int)valeur; //puis je l'ajoute a la valeur entier de 12.12 dans notre cas
    cout << valeur_final; // et j'affiche.
    system("PAUSE");
   
    return 0;
}


donc l'erreur est donc avec valeur_final = (int)valeur_change;
or j'ai testé avec 14.14 et plein d'autre valeur surtout dans le cas de plus de 2 chiffres après la virgule et ca marchait

alors si vous avez une solution?

Merci
Darmoor

mercredi 8 juin 2005 à 21:38:35 | Re : probleme cast...

vecchio56

Administrateur CodeS-SourceS
Parce que les float ne sont pas codés de manière exacte, en fait en machine tu as 12.11999999, mais quand tu l'affiche c'est arrondi donc ca donne 12.12
Si c'est l'utilisateur qui saisit le nombre, le plus simple est de saisir une chaine ("12.12"), et la ca sera plus facile à manipuler

mercredi 8 juin 2005 à 23:05:45 | Re : probleme cast...

darmoor

c'est à dire?
car je vois le concept presque, mais bon, celon ce que je vois je suis partis pour ecrire beaucoup par rapport a mon code de depart..
une petite aide plz



Cette discussion est classée dans : int, valeur, change, cas, final


Répondre à ce message

Sujets en rapport avec ce message

récursivité et factorielle!!! [ par cabarrus ] salut je veux écrire un programme qui calcule et renvoie le résultat factorielle en utilisant la récursivité de n'importe qu'elle nombre entier voici Retour de la valeur d'une variable dans une fonction. [ par did2604 ] Bonjour,J'ai un petit problème avec la fonction suivante. Dans ma fonction, j'incrémente une variable nommée vt2. Je souhaite retourner dans le main c pb sur une simple boucle do while :-(( [ par msoin ] jour'alors, voila, j'apprend en ce moment les fonctions à argument, et ce qui se met clocher c'est une boucle!!!!Donc voici mon code, le pb se situe table dynamique et ficher xml (xmlparser) en C++ [ par Armandopoulos ] Bonjour à tous, Je voudris bien stocker des données (int,float,double,string,....) dans un fichier xml et pouvoir les lire a chaque fois ue je souhai ajout de zéro binaire [ par zelastwarrior ] bonjour bonjour, mon probleme cette fois ci est lié a un zéro binaire.j'explique : mon projet affiche a gauche de l'hexa à droite les caractères. (pro important [ par cmoapierre ] File1.h:class Addition100 { private : int Valeur ; public : void EcrireNombre(int prmN) ; void Additionner100(void) ; int LireNombre(voi Convertirn char en int [ par matge ] Bonjour!Je dispose des variables suivante :char Port[4];int Port_Int;Port="5000";Je souhaite affecter la valeur numérique 5000 à la variable Port_Int( unsigned long int [ par W@$h! ] saluje pense que tout le monde sait faire ça : int valeur = 4;printf("%i", valeur);mais quelqu'un peut'il me dire comment faire pour afficher un unsig Probleme de pointeur (enfin je pense) dans l'utilisation d'une fonction [ par neutrix ] Salut.. Help  Je souhaite créer un main et une fonction. Tout cela me servira ensuite en info industriel pour un microcontroleur. Le main s'occupera Pointeurs de pointeurs [ par miximog ] Bonjour a tous enfin bonsoir ;) Enfaîte j'ai lu 2 tuto sur les pointeurs donc je commence a bien comprendre la notion de pointeurs, mais il y a une n


Nos sponsors


Appels d'offres

Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,076 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales