IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

décomposer en entiers un reel


Sujet :

avec Java

  1. #1
    Membre régulier
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Février 2016
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Février 2016
    Messages : 181
    Points : 82
    Points
    82
    Par défaut décomposer en entiers un reel
    je souhaite faire de 50.12 deux entiers 50 et 12
    merci

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 073
    Points : 7 978
    Points
    7 978
    Par défaut
    Il y'a surement plus propre comme méthode mais en voici une vite fait bien fait : (et qui ne semble pas poser de problème d'arrondis au vu de la méthode employée).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    		double valeur = 550.1442d;
     
    		int entier1 = (int) valeur;
    		int entier2 = Integer.parseInt((""+valeur).substring((""+valeur).indexOf(".")+1)); 
     
    		System.err.println(">> "+entier1);
    		System.err.println(">> "+entier2);
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre régulier
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Février 2016
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Février 2016
    Messages : 181
    Points : 82
    Points
    82
    Par défaut
    merci

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Les rééls ça n'existe pas en programmation. 50.12 et 550.1442 ça n'existe pas en double. Tout n'est qu'approché.

    On peut toujours arrondir à l'unité entière, mais il n'y a pas de "prendre la partie fractionnaire". Ce concept n'existe pas, ou plutôt il est extrêmement contre-intuitif. En tout cas la partie fractionnaire n'est pas 12 ni 1442.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 073
    Points : 7 978
    Points
    7 978
    Par défaut
    Citation Envoyé par thelvin Voir le message
    Les rééls ça n'existe pas en programmation. 50.12 et 550.1442 ça n'existe pas en double. Tout n'est qu'approché.

    On peut toujours arrondir à l'unité entière, mais il n'y a pas de "prendre la partie fractionnaire". Ce concept n'existe pas, ou plutôt il est extrêmement contre-intuitif. En tout cas la partie fractionnaire n'est pas 12 ni 1442.
    Non, effectivement, sans aucuns traitements, brutes les résultats serait serait genre 0.12000000000000455 et 0.14419999999995525

    Mais mon code pourri semble faire ce qu'il doit non ?
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Le problème ne me semble pas être avec le code qui cherche à faire ça.

    Le problème c'est de chercher à faire ça. Parce que "ça" n'est pas défini pour vouloir dire grand-chose, de par la nature même des doubles.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Expert éminent sénior
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 629
    Points : 10 554
    Points
    10 554
    Par défaut
    Citation Envoyé par thelvin Voir le message
    Les rééls ça n'existe pas en programmation. 50.12 et 550.1442 ça n'existe pas en double. Tout n'est qu'approché.
    À moins de faire une classe "float" avec 2 entiers ou une chaîne de caractères (<- pour les représentations les plus évidentes) et les bonnes surcharges ("float", "double", ...)

  8. #8
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Ça s'appelle BigDecimal. Mais ça ne représente ni les réels ni les rationnels. Seulement les décimaux.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Décomposer un entier dans tableau
    Par ramzuus95 dans le forum C
    Réponses: 1
    Dernier message: 13/11/2014, 23h06
  2. Décomposer un entier dans tableau
    Par darkwall_37 dans le forum Débuter
    Réponses: 10
    Dernier message: 22/10/2009, 08h52
  3. Traitements d'image : entiers ou reel?
    Par contremaitre dans le forum Traitement d'images
    Réponses: 21
    Dernier message: 16/01/2008, 12h04
  4. partie entiere d'un reel
    Par anisj1m dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 30/04/2007, 16h55
  5. [8086] Diviser un réel par un entier
    Par sali dans le forum Assembleur
    Réponses: 2
    Dernier message: 30/04/2006, 22h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo