Décomposer la partie décimale d'un nombre

Bonjour



J'ai un nombre de type "double" (dans mon exemple 0,123) avec lequel je voudrais prendre seulement un ou plusieurs chiffre que j'aurais choisi (par exemple, je voudrais prendre seulement 2 ou 23)



Je voulais juste savoir si c'était possible et si oui, quel morceau de code dois-je utiliser.



Merci image/wink.png' class='bbc_emoticon' alt=';)' />

Réponses

  • AliGatorAliGator Membre, Modérateur
    double d = 0,123;<br />
    int deux = (d*100) % 10;<br />
    int deuxtrois = (d*1000) % 100;
    
  • Ok on est donc obligé d'utiliser les maths. Je pensais qu'il y avait une fonction qui permettait de le faire. Merci
  • mpergandmpergand Membre
    septembre 2012 modifié #4
    Faut caster en int, sinon compilo pas content image/kiss.gif' class='bbc_emoticon' alt=':-*' />


    <br />
    <br />
    [color=#000088]double[/color][color=#000000] d [/color][color=#666600]=[/color][color=#000000] [/color][color=#006666]0[/color][color=#666600].[/color][color=#006666]123[/color][color=#666600];[/color]<br />
    [color=#000088]int[/color][color=#000000] deux [/color][color=#666600]=[/color][color=#000000] (int)[/color][color=#666600]([/color][color=#000000]d[/color][color=#666600]*[/color][color=#006666]100[/color][color=#666600])[/color][color=#000000] [/color][color=#666600]%[/color][color=#000000] [/color][color=#006666]10[/color][color=#666600];[/color]<br />
    [color=#000088]int[/color][color=#000000] deuxtrois [/color][color=#666600]=[/color][color=#000000] (int)[/color][color=#666600]([/color][color=#000000]d[/color][color=#666600]*[/color][color=#006666]1000[/color][color=#666600])[/color][color=#000000] [/color][color=#666600]%[/color][color=#000000] [/color][color=#006666]100[/color][color=#666600];[/color]<br />
    





    Ok on est donc obligé d'utiliser les maths. Je pensais qu'il y avait une fonction qui permettait de le faire. Merci




    [font=times new roman,times,serif]modf -- return integral and fractional parts



    #include <math.h>



    double

    modf(double value, double *iptr);




    long double

    modfl(long double value, long double *iptr);




    float

    modff(float value, float *iptr);
    [/font]
  • AliGatorAliGator Membre, Modérateur
    'Benjo'' a écrit:


    Ok on est donc obligé d'utiliser les maths. Je pensais qu'il y avait une fonction qui permettait de le faire. Merci
    Bah tu peux toujours convertir en string, puis récupérer le i-ème caractère, mais bon c'est kif kif
  • BenjoBenjo Membre
    septembre 2012 modifié #6
    'AliGator' a écrit:


    Bah tu peux toujours convertir en string, puis récupérer le i-ème caractère, mais bon c'est kif kif




    Ok merci pour ta réponse !




    [font=helvetica, arial, sans-serif]modf -- return integral and fractional parts



    #include <math.h>



    double

    modf(double value, double *iptr);




    long double

    modfl(long double value, long double *iptr);




    float

    modff(float value, float *iptr);
    [/font]




    J'avais déjà  essayé le modf mais il ne me retourne que la partie décimale en entier et ce n'est pas ce que je cherchais
  • Si c'est pour un calcul, préfère les maths, si c'est juste pour un affichage, les strings peuvent suffire.



    Pourquoi as-tu peur des maths? Pour faire de la programmation, ça sert!! N'hésite pas à  utiliser le grapher du Mac pour chercher ou vérifier des fonctions par exemple, c'est très pratique...


  • [font=helvetica, arial, sans-serif]Si c'est pour un calcul, préfère les maths, si c'est juste pour un affichage, les strings peuvent suffire.[/font]




    Ok




    [font=helvetica, arial, sans-serif]Pourquoi as-tu peur des maths? Pour faire de la programmation, ça sert!![/font]




    Bah je n'ai pas peur des maths mais je préfère les fonctions qui réduisent les lignes de code. Par exemple la fonction "pow( )" qui évite de faire une boucle pour calculer un carré.




    [font=helvetica, arial, sans-serif]N'hésite pas à  utiliser le grapher du Mac pour chercher ou vérifier des fonctions par exemple, c'est très pratique...[/font]




    Oui j'aime bien grapher qui est vraiment très pratique pour une vérification de fonction !
Connectez-vous ou Inscrivez-vous pour répondre.