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

Langage Java Discussion :

problème de conversion


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 22
    Par défaut problème de conversion
    Bonjour,
    Je poste car j'ai un petit problème de conversion.

    Je m'explique :
    J'ai une variable de type double. Je voudrais convertir cette variable en une chaîne de caractères qui respecte les contraintes suivantes :

    Si la valeur du double est :

    premier cas : 43.0 alors la chaine de caractère sera "43"
    deuxième cas : 43.4 alors la chaîne de caractère sera "43.4"

    Malheureusement je ne sais pas comment faire.
    Merci d'avance pour votre aide.

    Bonne journée.
    Nono

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Février 2007
    Messages
    572
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Février 2007
    Messages : 572
    Par défaut
    Tu n'as pas trouvé ton bonheur avec java.util.DecimalFormat ?

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 75
    Par défaut
    -Converti d'abord avec toString()
    -Détecte la chaine ".0" avec endWith()
    -Si ça renvoit true , découpe avec substring() avant les 2 derniers caractères

  4. #4
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par adn013
    -Converti d'abord avec toString()
    -Détecte la chaine ".0" avec endWith()
    -Si ça renvoit true , découpe avec substring() avant les 2 derniers caractères


    Pourquoi ne pas tout simplement utiliser un DecimalFormat qui est fait exactement pour cela ????

    a++

  5. #5
    Membre chevronné Avatar de miloux32
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    545
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 545
    Par défaut
    Citation Envoyé par adiGuba
    Salut,




    Pourquoi ne pas tout simplement utiliser un DecimalFormat qui est fait exactement pour cela ????

    a++
    +1


    http://java.sun.com/j2se/1.4.2/docs/...sShown(boolean)

  6. #6
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 22
    Par défaut Sans le style !
    Re,
    J'ai trouvé une solution qui n'est sans doute pas terrible d'un point de vue prog mais qui marche.

    J'ai regardé la méthode DecimalFormat dans la javadoc mais je ne vois pas comment faire avec.

    Voila pour ce qui est de ma solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    public static String doubleToStringWithoutNullDecimalPart (double value) {
     
    		String returnValue;		
    		int intValue = (int) value;
    		NumberFormat numberFormatter = NumberFormat.getNumberInstance(Locale.ENGLISH);
     
    		if (intValue == value) {
    			return returnValue = numberFormatter.format(intValue);
    		} else {
    			return returnValue = numberFormatter.format(value);
    		}
    	}
     
    }
    Si vous avez moins lourd (je suis sûr que c'est faisable) je suis preneur.
    En tout cas merci pour votre aide.
    ++
    Nono

  7. #7
    Membre chevronné Avatar de miloux32
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    545
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 545
    Par défaut
    Citation Envoyé par nono44200
    Re,
    J'ai trouvé une solution qui n'est sans doute pas terrible d'un point de vue prog mais qui marche.

    J'ai regardé la méthode DecimalFormat dans la javadoc mais je ne vois pas comment faire avec.

    Voila pour ce qui est de ma solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    public static String doubleToStringWithoutNullDecimalPart (double value) {
     
    		String returnValue;		
    		int intValue = (int) value;
    		NumberFormat numberFormatter = NumberFormat.getNumberInstance(Locale.ENGLISH);
     
    		if (intValue == value) {
    			return returnValue = numberFormatter.format(intValue);
    		} else {
    			return returnValue = numberFormatter.format(value);
    		}
    	}
     
    }
    Si vous avez moins lourd (je suis sûr que c'est faisable) je suis preneur.
    En tout cas merci pour votre aide.
    ++
    Nono

    regarde le lien d'au dessus ... il permet de choisir si tu veux par défaut afficher toujours les décimales ...

  8. #8
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par nono44200
    Si vous avez moins lourd (je suis sûr que c'est faisable) je suis preneur.
    Je ne comprend pas trop l'intérêt de toutes ces variables locales ni du if (surtout qu'il est toujours vrai )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	public static String doubleToStringWithoutNullDecimalPart(double value) {		
    		return NumberFormat.getNumberInstance(Locale.ENGLISH).format(value);
    	}
    a++

Discussions similaires

  1. problème de conversion de dimension dans BUSINESS OBJECT
    Par greatmaster1971 dans le forum Deski
    Réponses: 4
    Dernier message: 28/04/2014, 13h15
  2. - [CAST ou CONVERT] Problème de conversion de date
    Par Boublou dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 06/07/2004, 14h31
  3. Problème de conversion 3DS->.X
    Par JBernn dans le forum DirectX
    Réponses: 5
    Dernier message: 08/04/2004, 19h08
  4. Problème de conversion unicode
    Par djmalo dans le forum C
    Réponses: 5
    Dernier message: 09/03/2004, 11h48
  5. Réponses: 11
    Dernier message: 02/09/2003, 14h20

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